home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-10-08 | 151.6 KB | 3,747 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ===================================================
- | PibTerm: Communications and Terminal Emulation |
- ===================================================
-
-
- For the IBM PC and compatibles
- Version 3.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Philip R. Burns
- October 7, 1985
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 1
-
- Table of Contents
-
- 1 Table of Contents
- 4 Introduction
- 4 Getting a copy of the source
- 5 PibTerm features
- 6 Starting PibTerm
- 6 Setting the environment variable PIBTERM
- 7 Using PibTerm
- 8 Reading the configuration files
- 8 The phone directory
- 8 Initializing the modem
- 8 Terminal emulation mode
- 9 Using the PibTerm menus
- 9 Three important PibTerm commands
- 9 PibTerm Commands
- 9 Alt-A: Edit line on screen
- 10 Keys used in editing
- 10 Alt-B: Send Break
- 11 Alt-C: Clear screen
- 11 Alt-D: Dial a number
- 11 Carrier detect line and dialing
- 11 Dialing directory format
- 11 Using the dialing directory
- 12 Dialing a specific directory entry
- 13 Moving around the dialing directory
- 13 Revising a dialing entry
- 13 Dialing prefixes
- 14 Other dialing commands
- 14 Automatic baud rate adjustment
- 14 Alt-E: Toggling local echo
- 15 Alt-F: File manipulation
- 15 Changing the active directory
- 15 Copying a file
- 15 Displaying the current directory
- 15 Erasing a file
- 16 Find free space on drive
- 16 Changing the logged drive
- 16 Viewing a file
- 16 Quit file manipulation
- 16 Alt-G: Enter Gossip mode
- 16 Alt-H: Hang up the phone
- 17 Alt-I: Produce command list
- 17 Alt-J: Jump to DOS
- 17 Alt-K: Set input keys
- 18 Reading key definition from a file
- 18 Entering key definitions at keyboard
- 18 Writing key definitions to a file
- 18 Quiting key definition mode
- 18 Contents of key definition strings
- 21 Alt-L: Log session to printer
- 21 Alt-M: Toggle Mute Mode
- 21 Alt-N: New communications parameters
- 22 Alt-O: Output session to disk
- 22 Alt-P: Set parameters
- 23 Format of configuration file
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 2
-
- Table of Contents
-
- 23 PibTerm parameter names
- 27 Sample configuration file
- 28 Alt-Q: Redial last number dialed
- 29 Alt-R: Receive file from remote
- 29 Ascii protocol
- 30 Xmodem protocol
- 30 Modem7 protocol
- 30 Ymodem protocol
- 30 Telink protocol
- 31 Kermit protocol
- 32 Mahoney BBS autodownload protocol
- 33 CompuServe B protocol
- 33 Downloads overwrite existing files
- 33 Cancelling a download
- 33 Download buffer size
- 33 Processing of CANs in Xmodem
- 34 Send file to remote system
- 34 Cancelling an upload
- 34 Ascii file uploads
- 34 Uploads with CIS B protocol
- 35 Alt-T: Get translate table
- 36 Alt-U: Screen dump to file
- 36 Alt-V: View Back Scroll Buffer
- 36 Alt-W: Wait for call
- 36 Alt-X: Exit PibTerm
- 37 Alt-Y: Display elapsed time
- 37 Alt-Z: Get area code
- 37 Shift-Tab: Toggle adding linefeeds
- 37 Notes on terminal emulation
- 37 VT52 mode
- 38 VT100 mode
- 39 ANSI/BBS mode
- 39 Using Script File
- 39 Executing a script file
- 40 Script file commands
- 42 General syntax of script commands
- 42 Detailed description of script commands
- 42 Addlf -- add line feeds
- 42 Break -- send a break
- 43 Capture -- capture session to disk
- 43 Clear -- clear screen
- 43 Delay -- delay execution for specified interval
- 43 Dial --- dial a number
- 44 Dos -- execute DOS command
- 44 Echo --- toggle local echo
- 44 Else -- part of IF statement
- 44 Endif --- ends an IF block
- 44 EndWhile -- terminate WHILE block
- 44 Exit -- terminate script execution
- 45 Hangup -- hang up the phone
- 45 Host -- enter Host mode
- 45 If -- test for condition
- 45 Conditions allowed in IFs
- 47 Input -- get input from keyboard
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 3
-
- Table of Contents
-
- 47 Key -- get function key values
- 47 KeySend -- Send function key value to remote system
- 48 Log -- toggle session logging to printer
- 48 Message -- display message on screen
- 48 Mute -- toggle mute mode
- 48 Param -- set program parameter
- 49 Receive -- receive file from remote
- 49 Redial -- redial last number dialed
- 50 Repeat -- repeat block of statements
- 50 Reset -- reset script execution to start of script
- 50 RInput -- receive input from remote system
- 50 Send -- send file to remote system
- 52 SText -- send text to remote system
- 52 Suspend -- suspend execution of script
- 52 Text -- send text to remote system
- 52 Translate -- read in translate table
- 53 Until -- ends repeat block
- 53 Wait -- wait for time of day
- 53 WaitString -- wait for specified string from remote
- 54 When -- wait for specified string from remote and respond
- 54 While -- execute statements WHILE condition true
- 55 Example scripts
- 55 For CompuServe
- 56 For CDC/NOS
- 56 For VAX/VMS
- 57 For an RBBS system
- 57 For an IBBS system
- 58 For FIDO
- 58 Notes on error handling
- 58 Critical DOS error handler
- 59 Invalid keyboard entries and mute mode
- 59 Introduction to Host Mode
- 59 Files in host mode
- 59 Pibterm.usf --- user file
- 59 Pibterm.msg --- message file
- 60 Pibterm.xfr --- file transfer list
- 60 Pibterm.cmt --- comments
- 60 Pibterm.log --- host session log file
- 61 Using host mode
- 61 Autobaud detection
- 61 Welcome message
- 62 Entering user name and password
- 62 Main menu
- 63 File transfer menu
- 64 Acknowledgements
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 4
-
-
-
-
- PibTerm: Communications and Terminal Emulation for the IBM PC
-
-
-
- INTRODUCTION
- ============
-
- PibTerm is a communications and terminal emulation program for IBM
- personal computers and compatible units. I, the author, Philip R.
- Burns, reserve the copyright to this program and all related
- materials. You are granted a license to use the program.
-
- You may also make unlimited copies of the program and distribute these
- copies as you desire, except that the author reserves the sole right
- to distribute the program for profit. You may request a duplication
- charge, not to exceed $10 per copy. You should distribute the program
- without any changes you have made, and then a SEPARATE version with
- any changes you've made. You should clearly mark the changes in some
- sort of documentation file, as well as in the source files you change.
-
- You may use the source code and modify it as you please for
- NON-COMMERCIAL APPLICATIONS ONLY. You may NOT use the code in
- developing commercial applications without my permission.
-
- I encourage you to extend this program and add interesting new
- features. I also encourage you to upload these changes to your local
- BBS in order to share your work with others. What I do NOT want is
- for you to rip off this code as if it were yours and sell it for a
- profit. That's not nice.
-
-
- HOW TO GET A COPY OF THE SOURCE
- ===============================
-
- In many cases the source to PibTerm will be available on the same BBS
- from which you downloaded the executables, perhaps in several archive
- (.ARC) or library (.LBR) files. If not, then you can probably
- download it from some one of the BBSs mentioned in the sample dialing
- directory included with the executable version of PibTerm. If you
- can't find it there, or the phone expense is too great, then you can
- send $12 for two disks with a complete .ARC copy of the source to:
-
- Philip R. Burns
- Vogelback Computing Center
- Northwestern University
- 2129 Sheridan Road
- Evanston, IL. 60201
-
- The $12 is a media, mailing, and handling cost, not a program charge.
-
- The source to PibTerm contains all sorts of interesting Turbo Pascal
- routines: not just the terminal emulation and asynchronous
- communications parts, but PibMenus, a menuing and windowing system,
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 5
-
-
-
- routines for performing directory and file manipulation, an interface
- to MS DOS's file handle input/output system, a routine to emulate
- Basic's PLAY statement, a routine for providing full-screen editing, a
- routine to invoke a secondary command processor from Turbo, and much
- much more. Should keep you Turbo hackers busy for a while, and should
- also keep some of you busy figuring out how to improve or add new
- features to the code!
-
-
- PIBTERM FEATURES
- ================
-
-
- 1. Several different terminal emulation methods:
-
- -- DEC VT52
- -- DEC VT100 (large subset)
- -- BBS ANSI (ANSI.SYS color graphics and music)
- -- Dumb glass TTY
- -- Dumb glass TTY in split-screen mode
-
- 2. The ability to act as a host program (mini BBS).
-
- 3. Ring buffered, interrupt driven, serial I/O.
-
- 4. A number of popular file transfer methods:
-
- -- Xmodem Checksum and CRC
- -- Modem7 batch with either Checksum or CRC
- -- Ymodem (YAM)
- -- Telink
- -- Ascii with XON/XOFF
- -- Autodownload for Bob Mahoney's EXEC PC BBS
- -- CompuServe B Protocol
- -- Kermit
-
- 5. Telephone dialing directory.
-
- 6. Session logging/capture to printer and/or disk.
-
- 7. On-screen editing (block mode) for use with mainframes.
-
- 8. Menu-driven commands.
-
- 9. Macro-key definition for constructing terminal keypad
- emulations or holding other often-used text sequences.
-
- 10. Escapes to the operating system (and return from DOS) within a
- PibTerm session.
-
- 11. Built-in file and directory manipulation, including directory
- display, file display, file copying, file erasure.
-
- 12. Screen dumps to a file.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 6
-
-
-
- 13. Customizable modem support.
-
- 14. Automatic change of baud rate to the proper one with smart
- modems like the Hayes 1200 and USR Courier.
-
- 15. Built-in phone area code directory.
-
- 16. Dialing session and total session time elapsed counters.
-
- 17. Internal line capture buffer which may be viewed at any time.
-
- 18. Script files for constructing sequences of commonly used
- commands, especially useful for generating auto-logon scripts.
-
-
- STARTING PIBTERM
- ================
-
- PibTerm is distributed in both source form (Turbo Pascal) and
- executable form (.COM). PibTerm is a large program (over 34000 lines
- of Turbo Pascal code) for a micro and operates in an overlay mode.
- You do not need to compile PibTerm to use it; you can use the
- executable modules directly. If you do wish to compile PibTerm, you
- must have version 3.0 of the IBM version of Turbo Pascal (or later).
- You will also need about 2 megabytes of free disk space to effect a
- complete compilation.
-
- The executable modules are:
-
- PIBTERM.COM
- PIBTERM.000
- PIBTERM.001
- PIBTERM.002
- PIBTERM.003
- PIBTERM.004
- PIBTERM.005
- PIBTERM.006
- PIBTERM.007
-
- You must place these nine files in the same directory. You can begin
- execution of PibTerm by entering:
-
- PIBTERM
-
- in response to the DOS command prompt. PibTerm looks for its overlays
- in the current directory. You may want to invoke PibTerm from other
- directories as well. In that case you can set the DOS environment
- variable PIBTERM to the name of the directory containing the PibTerm
- overlays, and use the DOS PATH statement to ensure that the selected
- directory is searched when you invoke PibTerm by name. For example,
- if you've named your PibTerm directory "MYPIB", located on drive C,
- then you could use the following DOS control statements to allow
- access to PibTerm from any other directory:
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 7
-
-
-
- PATH C:\MYPIB
- SET PIBTERM=C:\MYPIB
-
- PibTerm also uses a number of configuration files. For the terminal
- emulation mode these are:
-
- PIBTERM.CNF --- primary configuration file
- PIBTERM.PRE --- dialing prefix file
- PIBTERM.FON --- dialing directory
- PIBTERM.FNC --- function key definitions
- PIBTERM.TRA --- translate table
- PIBTERM.SCR --- main script file
-
- In addition, for the host mode, these extra configuration files are
- needed:
-
- PIBTERM.USF --- user name file
- PIBTERM.CMT --- comments file
- PIBTERM.MSG --- message file
- PIBTERM.XFR --- file transfer list file
- PIBTERM.LOG --- session log file
-
- These files must reside in the same directory as PIBTERM.COM, as
- indicated by the PIBTERM environment variable.
-
- I have supplied samples of the emulation mode files. These include a
- dialing directory with numbers for some good BBS systems and a
- configuration file suitable for use with the Hayes 1200 SmartModem or
- compatibles. The other emulation mode files will be created as
- necessary by PibTerm.
-
- The exact format of PIBTERM.CNF is documented under the ALT-P command
- below. The formats for PIBTERM.FON and PIBTERM.PRE are documented
- under ALT-D below. The format of PIBTERM.FNC appears under ALT-K
- below. PIBTERM.TRA is described under Alt-T, and PIBTERM.SCR is
- described in the section on scripts.
-
- I have also supplied sample input key definition files for use with
- the VT100 emulator in PibTerm under the VAX/VMS system and the CDC/NOS
- system.
-
- See the section below on host mode for a description of the host mode
- files and how to create them. You do not need to create host mode
- files if you only want to use the terminal emulation mode.
-
-
- USING PIBTERM
- =============
-
- There are basically two general classes of remote communications
- programs. One class contains programs like PibTerm, PC Talk, and
- Qmodem in which you are always in terminal emulation mode. You enter
- commands to the communications program by means of special key
- sequences, but you never really leave terminal mode. Other programs
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 8
-
-
-
- like Kermit or Modem are designed with an explicit separate command
- mode and a terminal emulation mode. You move from command mode to
- emulation mode with a command, and from emulation mode to command mode
- by a special key sequence.
-
- I personally prefer programs which are always in terminal mode, which
- is why PibTerm is written that way.
-
- If you have used programs like QMODEM, PC TALK, ETERM, PROCOMM, or
- TMODEM then the operation of PibTerm in emulation mode will be quite
- familiar to you, and you can probably just fire up PibTerm and work
- through the menus to see how to use the program. The major difference
- is that ALL PibTerm commands are entered using ALT+key sequences;
- keypad keys are not used so that they are free for use by the terminal
- emulators.
-
- If you have not used one of these programs, then you should read the
- following instructions carefully.
-
- After you enter the PIBTERM command to DOS, PibTerm begins execution.
- You will see a program notice including the current version and date
- of that version:
-
- PibTerm Version 3.0 (October, 1985) Ready.
- Hit Alt-I for command list.
-
- PibTerm reads the configuration files, if present, or else prompts you
- with a series of menus to obtain the necessary information to create
- the configuration files.
-
- If you don't use the sample supplied phone directory, then an empty
- directory will be created, unless QMODEM.FON -- the QMODEM phone
- directory -- or PCTALK.FON -- the PC Talk phone directory -- is
- present in the same DOS directory from which you execute PibTerm. If
- PibTerm finds QMODEM.FON, it will ask you if QMODEM.FON should be read
- to get the dialing directory entries. If you respond yes, QMODEM.FON
- is used to create PIBTERM.FON. If PibTerm can't find QMODEM.FON, but
- finds PCTALK.FON, then PCTALK.FON is read to get the dialing directory
- entries for PIBTERM.FON.
-
- After the configuration files are read, PibTerm initializes the modem
- if a modem initialization string appears in the configuration file.
- PibTerm can also be used on a hard-wired line without a modem, in
- which case the modem initialization string if present will probably
- have no effect. If you do have a modem attached, you should set it so
- that the carrier detect line accurately reflects the true carrier
- status -- i.e., the carrier detect is NOT permanently set on -- and
- also so that the data terminal ready (DTR) line is set to accurately
- reflect the status of DTR. Some modems unfortunately have a tendency
- to hang up the phone connection when communication parameters like
- baud rate are changed if DTR is allowed to reflect reality, so you may
- need to set your modem to always have DTR turned on (set high).
-
- After initialization is complete, PibTerm enters terminal emulation
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 9
-
-
-
- mode, emulating whichever terminal you choose as a default in the
- configuration file. At this time you may begin entering PibTerm
- commands. All PibTerm commands are input by depressing and holding
- the ALT key along with the indicated ALPHA key. Most commands cause a
- "pop-up" menu box to be displayed over the current contents of the
- display. Upon completing the command, PibTerm restores the previous
- screen contents.
-
- You choose an item from a menu by EITHER
-
- 1. Typing the first character of the menu item, OR
-
- 2. Using the up and down arrow keys to move to the desired menu
- selection, and then hitting the enter key.
-
- The currently selected item is always highlighted in inverse video in
- the menu.
-
- Here are three PibTerm commands you should know about right away:
-
- 1. ALT-I provides a complete list of available commands.
-
- 2. ALT-X terminates execution of PibTerm and returns you to DOS.
- NOTE THAT THE PHONE LINE IS NOT NECESSARILY HUNG UP WHEN YOU
- LEAVE PIBTERM. If you set DTR normal on your modem, then the
- phone WILL BE hung up by exiting PibTerm. If you have DTR set
- permanently high, then the phone IS NOT hung up by exiting
- PibTerm. This is a useful feature to allow you to leave
- PibTerm and re-enter your session later. However, if you
- forget, you may run up a big phone bill, so it's best to hang
- up the modem/phone manually before you leave PibTerm unless
- you plan to re-enter an on-going session.
-
- 3. ALT-H hangs up the phone.
-
-
- PIBTERM COMMANDS
- ================
-
- Following is a complete description of each PibTerm command.
-
- Alt-A: Edit line on screen
- ===========================
-
- When Alt-A is pressed, a highlighted bar appears at line 1 if the
- cursor is currently on lines 2 through 25, or on line 25 if the cursor
- is on line 1. An XOFF is sent to the host to prevent it from sending
- more data. You may then use the arrow keys to move around the screen
- to any displayed line and edit that line using the keypad keys listed
- below. Pressing the INS key toggles insertion mode (the default) and
- overwrite mode, just like in the Turbo editor. A carriage return
- causes an XON to be sent to the host, followed by the text of the
- newly-edited line. Only one line at a time may be edited and sent
- using ALT-A.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 10
-
-
-
-
- Alt-A is intended to provide a simple block-mode feature for use with
- remote hosts that do not provide full-screen features. For example,
- on IBM systems, if you are unfortunate enough to be stuck with using
- line editors like QED or EDIT under TSO, you can use the ALT-A feature
- to good effect since the entry of a line starting with a number is
- interpreted as an insertion. For example, supposed you are in a TSO
- QED session and you enter a list command for line 20. The system
- responds by listing the current text of line 20:
-
- L 20
- 00020 HERE IS THE TEXT OF LINE 20
-
- You can now enter Alt-A, move the cursor using the arrow keys to the
- displayed line, and change the text, perhaps to read:
-
- 00020 HERE IS THE REVISED TEXT OF LINE 20
-
- Now, hitting the return (or enter) key sends the newly revised line to
- QED. QED inserts the revised line 20 in your TSO file in place of the
- old line 20.
-
- Another good use for this local editing feature is to correct an
- improperly entered system command for those systems without an
- edit-last-command feature.
-
- Here is a list of available editing key sequences for use with Alt-A:
-
-
- Key Sequence Resulting edit action
- ===================================================================
- INS Toggles insert/delete mode
- DEL Deletes current character under cursor
- <- Moves one character to left in line
- -> Moves one character to right in line
- HOME Moves to start of line
- END Moves to end of line
- Back Space Erases character to left of cursor, line moves
- to left to fill hole.
- Other characters Insert mode: character inserted at current
- character position
- Overwrite mode: character replaces character
- at current cursor position
- ===================================================================
-
-
- Alt-B: Send Break
- ==================
-
- Pressing Alt-B sends a sustained break signal. This is the equivalent
- of hitting the attention key on many termianls, and is frequently
- necessary to gain the attention of a host system when using PibTerm on
- a hard-wired line.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 11
-
-
-
- Alt-C: Clear Screen
- ====================
-
- Alt-C clears the entire screen, except in Gossip mode, when it clears
- your half of the screen only.
-
-
- Alt-D: Dial a number
- =====================
-
- Alt-D invokes the dialing facilities.
-
- VERY IMPORTANT NOTE:
- ===================
-
- PibTerm monitors the carrier detect line to see if a remote session is
- in progress. If PibTerm detects a carrier, it WILL NOT allow you to
- dial another number and initiate another session. If your system or
- modem MUST keep the carrier detect line high (on) all the time, then
- you must go to the Alt-P menu and choose "n) miscellaneous", and tell
- PibTerm to IGNORE the carrier detect line for dialing purposes.
-
- Dialing directory format
- ======================== The dialing directory file PIBTERM.FON is a
- random-access text file in which each record corresponds to one host
- system. PibTerm as distributed provides for 200 directory entries.
- The format of each entry is:
-
- Field Name Length in characters
- =====================================
- Name of system 25
- Phone Number 15
- Baud rate 5
- Parity 1
- Data Bits 1
- Stop Bits 1
-
- All fields are plain ascii text. PibTerm uses the associated
- communications parameters when dialing the selected phone number.
-
- After pressing ALT-D you will see a the first page of the dialing
- directory:
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 12
-
-
-
- -[ Dialing Directory ]---------------------------------------------------
- |
- |No. --------- Name ---------- --- Number --- -Baud- -Bits- -Par- St
- |
- | 1 BOSS BBS 1 201 568 7293 2400 8 N 1
- | 2 Bob Blacher BBS 1 202 547 2008 2400 8 N 1
- | 3 Met Chem BBS 1 203 281 7287 1200 8 N 1
- | 4 Craig Derouen's FIDO 1 206 745 2497 1200 8 N 1
- | 5 Invention factory BBS 1 212 431 1194 1200 8 N 1
- | 6 Dan Doman's BBS 1 212 924 6598 1200 8 N 1
- | 7 Programmer's Toolbox 1 301 540 7230 1200 8 N 1
- | 8 Rich Schinnel BBS 1 301 949 8848 2400 8 N 1
- | 9 Pete Olympia Darwin BBS 1 301 251 9206 2400 8 N 1
- | 10 Plain Vanilla PC HOST 1 301 986 9408 2400 8 N 1
- | 11 Bob Klahn's Fido 1 302 764 7522 2400 8 N 1
- | 12 Sid Bratkovich's Fido 1 312 338 8827 1200 8 N 1
- | 13 Gene Plantz BBS 1 312 885 7144 2400 8 N 1
- | 14 Ron Fox BBS 1 312 940 6496 2400 8 N 1
- | 15 John Friel's BBS 1 319 277 0044 2400 8 N 1
- |
- | --> R Revise entry P Revise prefix C Clear entry Q Redial
- | PgUp/PgDn Page Esc Exit ^/v Scroll H Hang up
- | Entry to dial Home First page End Last page
- | M Manual dial ENTER dials highlighted entry
- |
- -------------------------------------------------------------------------
-
- The top part of the display shows the first fifteen numbers in the
- dialing directory. This part of the display is scrollable. What
- cannot be shown on this printed copy is that the first number's line
- is displayed on the PC's screen in reverse video. Whichever number is
- currently at the top of the display is the default number. If you
- just hit the enter key (return key), PibTerm will automatically dial
- this number.
-
- The bottom part of the display indicates the available dialing
- commands.
-
- Dialing a specific directory entry
- ==================================
-
- --> prompts you to enter a directory entry number to dial.
-
- Type the entry number of the system you wish to connect to. The
- corresponding phone number in the directory is dialed. You may prefix
- the number with one of the dialing prefix characters described below,
- in which case the corresponding prefix string is appended to the front
- of the phone number. The communications parameters are also set to
- those present in the dialing directory. You may hit the ESC (escape)
- key to cancel the dialing at any time during the progress of a call.
- Once a connection is established, however, hitting the escape key has
- no effect.
-
- For example, if you want to dial Gene Plantz's BBS, which is number 13
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 13
-
-
-
- in this directory, then you enter 13 when asked for the number to
- dial.
-
- Moving around the dialing directory
- ===================================
-
- PgDn --- takes you forward a page in the dialing directory.
-
- PgUp --- takes you back a page in the dialing directory.
-
- Up arrow --- takes you down one line in the dialing directory.
-
- Down arrow --- takes you up one line in the dialing directory.
-
- Home --- takes you to first page of directory.
-
- End --- takes you to last page of directory.
-
- Revising a dialing entry
- ========================
-
- R --- allows you to revise a dialing directory entry. You will be
- prompted for the number of the entry to revise, and then the new
- values for that entry.
-
- C --- allows you to clear out a dialing entry.
-
- Dialing prefixes
- ================
-
- P --- allows you to define or revise the five dialing prefixes, or set
- a default prefix character.
-
- PibTerm provides for dialing prefixes to be attached to the front of a
- phone number. You may define up to five such prefixes which are then
- stored in the text file PIBTERM.PRE. Associated with each prefix
- number is a prefix character. The five available prefix characters
- are the same as those in QMODEM: '+', '-', '!', '@', '#'. You use
- these prefix characters to cause PibTerm to add the extra access codes
- you need for alternate long-distance services like MCI or SPRINT. For
- example, if you use SPRINT then you need to dial the local SPRINT
- access number, followed by your SPRINT access code, followed by the
- actual number. For clarity let's assume that the local SPRINT access
- number is, say, 888 8888, and our access code is 1234567. For a
- Hayes-like modem we could define the prefix string for '+' to be
-
- 8888888,,,,1234567
-
- where each comma results in a one second pause to provide SPRINT
- enough time to answer the call and request the access code. To define
- a prefix, use the P command.
-
- Let's assume that you have used the P command to define that prefix
- for the '+' key. If you enter then enter +13 PibTerm prefixes the
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 14
-
-
-
- number for Gene Plantz's BBS from the dialing directory with the
- string associated with '+' and dials:
-
- 8888888,,,,1234567 1 312 885 7144
-
- You can also set a default dialing prefix character. For example,
- assume that you hit the P key get to the prefix revision menu. Then
- hit the S key to define (or remove) a default dialing prefix. The
- default prefix character MUST be one of the prefix characters above or
- a blank. The corresponding prefix string is automatically appended to
- the front of a dialing directory number IF that number contains more
- than seven digits AND you request the number be dialed by hitting the
- Enter key -- that is, the number to be dialed must be the currently
- highlighted directory entry. The default prefix is NOT added to the
- front of a dialing directory number when you explicitly type that
- number.
-
- Other dialing commands
- ======================
-
-
- M --- allows you to enter a complete phone number to be dialed.
-
- H --- hangs up the phone line.
-
- Q --- redials the last number dialed. This feature works the same way
- as the Alt-Q command, so see the section below on the Alt-Q command
- for further details.
-
- ESC --- takes you out of the dialing mode.
-
- When entering a command, you need only hit that key to get PibTerm to
- respond. You do NOT need to hit the Enter key as well. However, when
- you enter a directory number to be dialed, you DO need to hit the
- enter key after the last digit of the number.
-
- If a successful connection to the remote system occurs, PibTerm checks
- the modem connect message returned by the modem (if any) for the
- string designated to be the modem connect message (MC= parameter). If
- it is found, then PibTerm assumes that any digits immediately
- following the modem message comprise the baud rate at which the modem
- connected. If that baud rate differs from the current baud rate,
- PibTerm adjusts the baud rate automatically to match that of the
- remote host as indicated by the modem.
-
- If the connection to the remote system is not successful, then the
- dialing directory is displayed again so that you can choose another
- number to dial if you wish.
-
-
- Alt-E: Toggle local echo
- =========================
-
- Some systems do not echo characters you type back to you. In this
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 15
-
-
-
- case you can enter ALT-E to cause PibTerm to echo characters you type.
- In other words, if you can't see what you're typing when connected to
- a remote host, enter Alt-E to toggle local echo ON. You can later
- enter ALT-E to toggle local echo OFF again.
-
-
- Alt-F: File manipulation
- =========================
-
- Depressing ALT-F causes PibTerm to display a menu of file manipulation
- facilities. The menu displayed is:
-
- -[ Choose File Function: ]--
- | A)ctive directory change |
- | C)opy file |
- | D)irectory display |
- | E)rase file |
- | F)ree space on drive |
- | L)ogged drive change |
- | V)iew a file |
- | Q)uit |
- -----------------------------
-
- Changing the active directory
- =============================
-
- A)ctive directory change prompts you for the name of a new directory
- path to be the logged directory.
-
- Copying a file
- ==============
-
- C)opy file prompts you for the name of a file to be copied and a name
- for the copy. Both names may include drive names and full directory
- paths. An exact byte-for-byte copy of the selected file is made. The
- length of the copied file will be identical to the length of the
- original and NOT rounded up to a multiple of 128.
-
- Displaying the current directory
- ================================
-
- D)irectory display provides a listing of all files in the current
- logged directory, their lengths, creation time and dates, and time
- required for Xmodem transmission using the current set baud rate.
- (You can see what the currently defined baud rate is by entering
- ALT-N.)
-
- Erasing a file
- ==============
-
- E)rase file allows you to specify a file to be erased. BE CAREFUL!
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 16
-
-
-
- Find free space on drive
- ========================
-
- F)ree space on drive prompts you for the letter of a drive. The
- amount of free space in bytes for that drive is displayed.
-
- Changing the logged drive
- =========================
-
- L)ogged drive change lets you enter the letter of a new drive to be
- used as the logged (current) drive.
-
- Viewing a file
- ==============
-
- V)iew a file lets you list the contents of an Ascii file. You can
- request that a non-Ascii file be displayed, but the result will be
- pretty much useless.
-
- Quit file manipulation
- ======================
-
- Q)uit ends file manipulation mode and returns to terminal mode.
-
-
- Alt-G: Enter gossip mode
- =========================
-
- Gossip mode is a special split-screen mode that allows you to chat
- with another remote user using PibTerm or Eterm. The current display
- is split into two pieces: the top for characters received from the
- remote system, and the bottom for characters you type. This allows a
- conversation to take place electronically in a full-duplex fashion,
- i.e., both you and the remote system user can be entering text at the
- same time.
-
- You can also use gossip mode to segregate what you type from what the
- system types.
-
- Gossip mode is a dumb terminal mode -- escape sequences are not
- processed.
-
-
- Alt-H: Hang up the phone
- =========================
-
- ALT-H causes PibTerm to hang up the phone using the modem hang-up
- command defined in the configuration file, if any. If no command is
- defined, or the command fails to hang up the phone, then PibTerm drops
- DTR. This should hang up the phone if DTR is not permanently set
- high. PibTerm reports if the phone was successfully hung up or not.
- If not, you may have to manually hang up the phone line.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 17
-
-
-
- Alt-I: Produce command list
- ============================
-
- ALT-I displays a brief list of available PibTerm commands.
-
-
- Alt-J: Jump to DOS
- ===================
-
- ALT-J causes Pibterm to invoke a secondary copy of the DOS command
- processor using DOS function 4B. This function requires that 64K of
- free space be available and will fail if that much space is not
- available. If you are using the distributed version of PibTerm, then
- the Alt-J functions requires a system with at least 360K.
-
- If the invocation succeeds, then you may enter DOS or other commands
- to your heart's content. Entering EXIT as a DOS command returns you
- to PibTerm. Note, however, that invoking another program which
- commandeers the same communications port that PibTerm is using may
- cause trouble, as may executing a program which in turn calls up yet
- another copy of the DOS command processor. You may need to reboot if
- your system locks up in either of these cases.
-
- Before invoking DOS, PibTerm changes the cursor shape from an
- underline to a square box. This reminds you that you are in a
- secondary command processor level. Upon return to PibTerm the cursor
- is set back to an underline.
-
-
- Alt-K: Set input keys
- ======================
-
- ALT-K allows you to define strings to be sent to the host system
- whenever any one of the forty function keys (F1 through F10, Shift F1
- through Shift F10, Alt F1 through Alt F10, and Ctrl F1 through Ctrl
- F10), or anyone of the keypad keys (Home, Ins, Del, PgUp, PgDn, End,
- arrow keys, and Ctrl and Alt version of those keys) is depressed.
- Strings up of to 65 characters can be assigned to the function keys,
- and strings up to 12 characters long can be assigned to the keypad
- keys. This facility provides great flexibility in creating logon
- scripts, special command sequences for host systems, terminal keypad
- values, and so on.
-
- When you hit ALT-K, you will see a menu with the following entries:
-
- -[ Choose Key Definition Method: ]--
- | R)ead definitions from file |
- | E)nter definitions from keyboard |
- | W)rite definitions to file |
- | Q)uit key definition |
- -------------------------------------
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 18
-
-
-
- Reading key definitions from a file
- ===================================
-
- R)ead definitions from file causes PibTerm to ask you for the name of
- a file containing key definitions. You need only enter the first part
- of the file name; the suffix .FNC is assumed. For example, if you
- enter "MYKEYS" as the file name, that is the same as entering
- "MYKEYS.FNC." However, entering "MYKEYS." causes PibTerm to look for
- the file "MYKEYS" WITHOUT the .FNC suffix. Of course, you can enter
- the full file name if you wish: MYKEYS.FNC, or even a name like
- MYKEYS.DAT.
-
- When PibTerm is initially invoked, the file PIBTERM.FNC, if it exists,
- is read in order to set the default function key values. You may
- enter key definitions at the keyboard as described in the next section
- and then write the resulting definitions to PIBTERM.FNC so that those
- definitions will automatically exist when PibTerm is executed.
-
- Entering key definitions at keyboard
- ====================================
-
- E)nter definitions from keyboard is used to set the key definitions by
- hand. You can use E)nter to look at keys you've already defined, or
- to create a file to be used in a later session.
-
- Writing key definitions to a file
- =================================
-
- W)rite definitions to file causes the current key definitions to be
- written out. These can be read later using R)ead. Again, you need
- only enter the first part of the file name; the suffix .FNC is
- automatically added if none appears in the file name you specify.
-
- Quiting key definition mode
- ===========================
-
- Q)uit leaves key definition mode and returns to terminal emulation
- mode.
-
- Contents of key definition strings
- ==================================
-
- The actual key definitions are comprised of ordinary Ascii text.
- There are four special characters defined for use with the input key
- facility:
-
- 1. A character to represent a carriage return -- the default is
- '|' (ascii 174). This character is defined by FC= in the
- PIBTERM.CNF configuration file.
-
- 2. A character to cause a one-second delay -- the default is '~'
- (ascii 126). The configuration parameter is FD=.
-
- 3. A character to cause PibTerm to wait for the immediately
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 19
-
-
-
- following character to be sent by the remote system before
- sending any more of the function key string. The default is
- '`' (ascii 96). The configuration parameter is FW=.
-
- 4. A character to mark the immediately following character as a
- control character. The default is '^' (ascii 94). For
- example, entering '^G' in a string (the ascii characters 94,
- 71) results in a single character being entered in the string,
- ascii 7 -- the bell character, control-G. When a key string
- containing control characters is written to a file using W,
- all the embedded control characters are converted to this
- marker character format. Upon being read in using R, the
- characters are converted back to control characters.
-
- These characters may also be used when defining modem control strings
- using the modem definition submenu of ALT-P.
-
- As an example, let's create a one-key auto-logon script for a typical
- RBBS-style bulletin board system. The usual logon sequence for an
- RBBS system is:
-
- 1. Several carriage returns to select the baud rate;
-
- 2. The first name, last name, and password.
-
- An appropriate script is:
-
- |~|~|~`?PHILIP;BURNS;PASSWORD|
-
- We send three carriage returns to help RBBS determine the baud rate.
- Then we wait for the prompting question mark which asks for the first
- name. On RBBS systems you can enter the entire name and password
- separated by semicolons on one line. We'll define the key ALT-F1 to
- contain the logon script. We begin by hitting ALT-K to get into key
- definition mode, and then hit E to get the keyboard entry menu, which
- looks like this:
-
-
- -[ Select keys to define: ]-
- | 1) Function keys 1 to 10 |
- | 2) Shifted function keys |
- | 3) Ctrl + function keys |
- | 4) Alt + function keys |
- | 5) Keypad keys |
- | 6) Alt + keypad keys |
- | 7) Ctrl + keypad keys |
- | 8) Quit |
- ----------------------------
-
- We then hit 4 to choose the Alt + function keys. The result is a
- display of the current values of the Alt-F1 through Alt-F10
- definitions, which will be blank since we have not yet entered any
- definition. Hit 1 to indicate that it is Alt-F1 we wish to define.
- We then input the logon script we developed above. The resulting
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 20
-
-
-
- screen looks like this (this is slightly squeezed so we can fit it on
- the document page):
-
- -[ Input key definition ]--...--------------------------------
- | # -Key Name- -------- ... Definition ... ------------ |
- | |
- | |
- | 1 Alt F1 |
- | 2 Alt F2 |
- | 3 Alt F3 |
- | 4 Alt F4 |
- | 5 Alt F5 |
- | 6 Alt F6 |
- | 7 Alt F7 |
- | 8 Alt F8 |
- | 9 Alt F9 |
- | 10 Alt F10 |
- | |
- | |
- | Enter key number to redefine or <CR> to quit: 1 |
- | Enter new key definition ... |
- | -->|~|~|~`?PHILIP;BURNS;PASSWORD| |
- | |
- | |
- --------------------------------------------------------------
-
- Hitting the enter key completes the key definition. Hitting 8he enter
- key again takes us back to the previous menu. Entering 8 for quit
- takes us back to the very first Alt-K menu. Hitting Q there lands us
- back in emulation mode.
-
- We could now dial an RBBS system in our dialing directory and wait for
- the connection to be made. Then, hitting ALT-F1 would automatically
- cycle through the logon sequence.
-
- Using a single function key to define an auto-login script is quite
- limited. PibTerm provides a much more powerful script facility as
- well. See the section later in this document on "Using Scripts."
-
- As another example we can map the VT100's keypad for use with VT100
- emulation mode in PibTerm. The sample file VT100.FNC, included with
- PibTerm, defines F1 through F10 to be the left half of the VT100
- keypad, and Shift F1 through Shift F10 to be the right half of the
- VT100 keypad.
-
- To use PibTerm with VAX/VMS, enter the VMS command
-
- SET TERMINAL/VT100
-
- which tells VMS that you're using a VT100 terminal, and select VT100
- emulation by hitting ALT-P and selecting "h) terminal definition."
-
- The file CDC.FNC contains another mapping of the VT100 keys for use
- with Control Data's NOS operating system. Here the function keys are
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 21
-
-
-
- set to automatically send a carriage return after the actual function
- key, as the NOS operating system requires this. To use PibTerm with
- NOS, enter the command
-
- SCREEN,VT100.
-
- when you have achieved a successful login to NOS. As before, use
- ALT-P to select the VT100 emulation mode.
-
- When running on VM/CMS on an IBM mainframe, with the Yale Ascii
- front-end processor, enter VT100 as the terminal type when you are
- prompted for the terminal name by the system. Again, ensure that you
- are actually in PibTerm VT100 emulation mode by using ALT-P to select
- terminal emulation mode.
-
- At this time, not all the possible keypad key combinations will work
- properly. That is, not all the keypad characters displayed actually
- allow assignment of strings. Try and see if a particular sequence
- works on your machine or not. Later versions of PibTerm will be able
- to handle this problem.
-
- Alt-L: Log session to printer
- ==============================
-
- ALT-L toggles the logging of your session to the printer. The printer
- is written using the Turbo device LST, which is generally DOS device
- LPT1. Initially printer logging is turned off.
-
-
- Alt-M: Toggle Mute Mode
- ==========================
-
- ALT-M toggles noise production by PibTerm. If mute mode is ON, then
- any bells, beeps, or music received from the host is ignored. The
- default is to have those sounds come through.
-
- Normally when PibTerm wants to alert you that you've made a mistake in
- typing some kind of entry (especially in the menus), PibTerm rings the
- terminal bell. In mute mode, PibTerm flashes the word "<ALERT>"
- instead on line 25 of the PC's display.
-
-
- Alt-N: New communication parameters
- ====================================
-
- ALT-N allows you to quickly set new communications parameters. Two
- menus are displayed: the first prompts you for a new parity/data word
- length/stop bit combination, and the second prompts you for a new baud
- rate. In both cases, the current settings are highlighted in the
- menus, so you can also use ALT-N to see what the current settings are
- without changing them -- just hit the enter key to select the current
- settings.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 22
-
-
-
- Alt-O: Output session to disk
- ==============================
-
- ALT-O toggles the capture of the current session to disk. This works
- like ALT-L, except that instead of sending the session to the printer,
- the session is sent to a disk file. PibTerm prompts you for the name
- of the disk file. If it exists, the captured session is appended to
- the end of the file.
-
- Any open capture file is closed when you escape to DOS. This allows
- you to look at the captured session with a file-listing program like
- TYPE, MORE, Buerg's LIST, or PibList. When you re-enter PibTerm, the
- capture file is re-opened and the captured text for the continued
- session is appended to the end of the already captured text. If you
- have changed the directory, then the capture file cannot be re-opened.
- You will need to re-issue the Alt-O command in this case.
-
-
- Alt-P: Set parameters
- ======================
-
- ALT-P allows you to set program parameters. These parameters are
- initially read from the configuration file PIBTERM.CNF. If
- PIBTERM.CNF does NOT exist when PibTerm is invoked, then PibTerm
- cycles through the menus in the ALT-P series.
-
- The menu displayed when you press ALT-P is:
-
- --[ Set parameters ] ---------
- | a) Communications Port |
- | b) Speed (Baud Rate) |
- | c) Parity |
- | d) Data Bits |
- | e) Stop Bits |
- | f) Backspace |
- | g) Linefeed toggle |
- | h) Terminal Type |
- | i) Modem setup |
- | j) File transfer protocol |
- | k) Kermit parameters |
- | l) Screen dump file name |
- | m) Video mode and colors |
- | n) Miscellaneous |
- | s) Execute Script file |
- | w) Write new config file |
- | q) Quit setup |
- | |
- ------------------------------
-
- Each of the menu entries (except w and q ) in turn calls up a submenu
- which allows you to set the corresponding program parameters. A list
- of these parameters appear below. As an example, assume that we hit
- b) for speed. The following menu box appears:
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 23
-
-
-
- -[ Choose Baud Rate ]-
- | a) 110 |
- | b) 150 |
- | c) 300 |
- | d) 600 |
- | e) 1200 |
- | f) 2400 |
- | g) 4800 |
- | h) 9600 |
- ----------------------
-
- The default baud rate will be highlighted in inverse video. You can
- either enter one of the letters to select a new baud rate, or use the
- arrow keys to move to a new baud rate and then hit the enter key.
-
- The format of the file PIBTERM.CNF is as follows: in columns 1-2 of
- each record is a code to identify a parameter. After the parameter is
- an '=' sign. Following the "=" the value of the parameter appears.
-
- The parameter names are:
-
- DA --- number of data bits per character (7 or 8)
-
- PA --- parity
- = N: none
- = E: even
- = O: odd
-
- ST --- number of stop bits (nearly always 1)
-
- BA --- default baud rate (300 through 9600)
-
- PO --- number of serial port (1 or 2)
-
- BS --- decimal ascii value of backspace character
- (8 if backspace sends backspace, 127 if backspace
- sends delete)
-
- DE --- decimal ascii value of delete character
- (127 if delete sends delete, 8 if delete sends backspace)
-
- TE --- terminal type to emulate
- = 0: Dumb terminal
- = 1: Dec VT52
- = 2: BBS/ANSI (private DEC sequences not recognized)
- = 3: Dec VT100 (private DEC sequences ARE recognized)
- = 4: Gossip (split screen)
- = 5: Host mode
-
- LF --- if line feeds to be added automatically when carriage return
- received from remote system.
- = 0: no
- = 1: yes
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 24
-
-
-
- MI --- modem initialization string
-
- MD --- modem dialing command (e.g., ATDT for Hayes)
-
- MC --- modem connect message (e.g., CONNECT for Hayes)
-
- MN --- modem no carrier message (e.g., NO CARRIER for Hayes)
-
- MB --- modem line busy message (e.g., BUSY for Hayes)
-
- ME --- modem escape characters (e.g., +++ for Hayes)
-
- MT --- milleseconds to surround modem escape sequence
- (1500 for Hayes)
-
- MH --- modem hangup command (e.g., ATH0 for Hayes)
-
- MO --- modem timeout value in seconds, i.e., how long
- to wait for a connection to be made.
-
- MR --- delay in seconds between redials
-
- MA --- modem command to answer phone (e.g., ATA for Hayes)
-
- MS --- modem host mode setup string
-
- SM --- silent mode
- = 0: off
- = 1: on
-
- LE --- local echo
- = 0: off
- = 1: on
-
- FC --- function key carriage return character
-
- FD --- function key delay character
-
- FW --- function key wait for following character
-
- FM --- function key escape character marker
-
- TT --- default file transfer protocol
- = XK --- Xmodem checksum
- = XC --- Xmodem CRC
- = TC --- Telink
- = M7 --- Modem7/CRC
- = MK --- Modem7/Checksum
- = AS --- Ascii
- = YM --- Ymodem
- = KE --- Kermit
-
- SD --- name of screen dump file
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 25
-
-
-
- TB --- number of bells to ring after file transfer complete
-
- TM --- text mode for display
- = M --- monochrome display
- = C --- color display
-
- CF --- Foreground color for text display.
- = 0: Black = 8: DarkGray
- = 1: Blue = 9: LightBlue
- = 2: Green = 10: LightGreen
- = 3: Cyan = 11: LightCyan
- = 4: Red = 12: LightRed
- = 5: Magenta = 13: LightMagenta
- = 6: Brown = 14: Yellow
- = 7: LightGray = 15: White
-
- CB --- BackGround color for text display.
- Same values as for CF.
-
- CT --- Color for menu text.
- Same values as for CT.
-
- CM --- Color for menu frames.
- Same values as for CM.
-
- BP --- if CompuServe B protocol recognized in VT52 or ANSI mode.
- = 0: no
- = 1: yes
-
- You should keep this option turned off unless you
- are actually using CompuServe to prevent line noise
- from accidentally throwing you into CompuServe mode.
- CompuServe B protocol requests are signalled by the
- reception of an Ascii 05 character (ENQ).
-
- EB --- if EXEC PC BBS requests recognized in VT52 mode
- 0 = no, 1 = yes
-
- This parameter if set to 1 allows you to perform
- autodownloads from Bob Mahoney's EXEC PC BBS in Milwaukee.
-
- DP --- default dialing prefix character
- = blank : no default prefix character
- = +,-,!,@,#: that is the default character, and the
- corresponding PIBTERM.PRE entry if the
- default dialing prefix string.
-
- If DP is not blank, then hitting the return (enter) key at
- the dialing directory menu causes the highlighted number to
- be dialed as usual, but the prefix string corresponding to
- BP= is prefixed to the phone number ONLY IF the phone number
- is longer than seven digits (i.e., is apparently a
- long-distance number).
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 26
-
-
-
- BB --- number of lines in review (backscroll) buffer
- = 0: no backscroll buffer
- > 0: number of line, maximum of 800.
- Number will be adjusted to available memory.
-
- XM --- if "exploding" menus to be used.
- = 0: no
- = 1: yes
-
- XB --- the number of bytes to be used as a download
- buffer in file transfers. The default is 2048 bytes,
- which is 16 Xmodem 128 byte sectors.
-
- AB --- if Host mode autobaud detection is to be based upon
- information extracted from the modem connect message.
- = 0: no, wait for caller to enter carriage returns
- and detect speed from that.
- = 1: yes, read modem connect message and get
- speed from that (i.e., CONNECT 2400).
-
- VB --- Background color for VT100 emulation mode.
- = colors 0 through 15 as defined for CF= above.
-
- VF --- Foreground color for VT100 emulation mode.
- = colors 0 through 15 as defined for CF= above.
-
- VE --- Foreground color for high-intensity VT100 mode.
- = colors 0 through 15 as defined above.
-
- VU --- Underline color for VT100 emulation mode.
- = colors 0 through 15 as defined above.
-
- KC --- Block check type for Kermit.
- = 1: 6-bit checksum (default)
- = 2: 12-bit checksum
- = 3: 16-bit CRC
-
- KE --- Marks end of Kermit packet
- = Ascii ^M = CR (should not have to be changed)
-
- KH --- Character marking start of Kermit packet.
- = ^A = SOH (should not have to be changed)
-
- KN --- Number of pad characters to put in Kermit packet.
- Default is zero (no padding).
-
- KP --- Default pad character. Default is ^@ (Ascii 0).
-
- KQ --- Control-quote character for Kermit (default is #).
-
- KR --- Repeat data character for Kermit (default is ~).
-
- KS --- Size of Kermit data packets (default is 80 characters).
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 27
-
-
-
- KT --- Seconds to wait for character to arrive before timing out
- in Kermit.
-
- KW --- Seconds to wait before sending first file of batch
- in Kermit upload mode.
-
- K8 --- Eighth-bit quoting character for Kermit
- = & as default.
-
-
- There are some other parameters but they are for debugging purposes
- and so can be ignored.
-
- There are two sample configuration files provided on the PibTerm
- distribution disk. You should rename PIBBW.CNF to PIBTERM.CNF and use
- it if you have a monochrome monitor. Rename PIBCOLOR.CNF to
- PIBTERM.CNF and use it if you have a color monitor.
-
- Here are the values provided by the sample PIBCOLOR.CNF file included
- with the distribution copy of PibTerm. The values for PIBBW.CNF are
- identical EXCEPT for the TM, CF, CB, CT, CM, VB, VF, VE, and VU
- parameters.
-
-
- FC=|
- FD=~
- FW=`
- FM=^
- DA=8
- PA=N
- ST=1
- BA=1200
- PO=1
- BS=127
- DE=8
- TE=3
- AG=0
- LF=0
- MI=ATZ|~ATX1|~ATS10=30|
- MD=ATDT
- MC=CONNECT
- MN=NO CARRIER
- MB=BUSY
- ME=+++
- MT=1500
- MH=ATH0|
- MO= 60
- MR= 45
- MA=ATA|
- MS=ATZ|~ATX1|~ATS0=1|
- MW=50
- SM=1
- PM=0
- LE=0
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 28
-
-
-
- TT=XC
- SD=scrndump.dat
- GD=6
- TB=8
- TM=C
- CF=6
- CB=0
- CT=2
- CM=4
- BP=0
- EB=1
- DP=+
- BB=100
- XM=0
- CH=0
- XB=2048
- AB=1
- VB=0
- VF=6
- VE=14
- VU=1
- KC=1
- KD=1
- KE=^M
- KH=^A
- KN=0
- KP=^@
- KQ=#
- KR=~
- KS=80
- KT=5
- KW=15
- K8=&
-
- Since PIBTERM.CNF is an ordinary Ascii text file, you can create or
- edit it with an text editor that produces such files. Illegal
- parameters are ignored by PibTerm.
-
-
- Alt-Q: Redial last number dialed
- =================================
-
- ALT-Q starts a re-dial of the last number dialed, if any. If no
- number has been previously dialed in the current PibTerm session, then
- you are prompted to enter a dialing entry, just like in the ALT-D
- command above. Redialing continues until you terminate it or a
- connection is made. Only one system can be re-dialed at a time.
-
- During the period between redials PibTerm displays a continually
- decremented timer telling you how long it will be before the next
- redial attempt. You also receive the prompt
-
- R = redial now ESC = stop C = change delay
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 29
-
-
-
- If you hit R then an immediate redial occurs. If you hit the escape
- key (ESC) then the redial is cancelled. If you hit C then you are
- prompted for a change in the redial delay. Enter the new redial
- delay, which is the number of seconds between redial attempts. The
- redial delay is initially set from the parameter MR= in the
- PIBTERM.CNF file.
-
-
- Alt-R: Receive file from remote
- ================================
-
- ALT-R allows you to receive a file from the remote system. You are
- prompted for the name(s) of the files to be transferred and the
- transfer protocol. For all protocols you will see a menu detailing
- the progress of the transmission -- blocks received, lines received,
- errors encountered, and so on.
-
- The following transfer protocols are available in PibTerm:
-
- -- Xmodem Checksum and CRC
- -- Modem7 batch with either Checksum or CRC
- -- Ymodem (YAM)
- -- Telink
- -- Ascii with XON/XOFF
- -- Autodownload for Bob Mahoney's EXEC PC BBS.
- -- Kermit
- -- CompuServe B protocol
-
- The menu you see when you hit Alt-R looks like this:
-
- -[ Choose file transfer protocol for download: ]------
- | a) Ascii |
- | b) Xmodem (Checksum) |
- | c) Xmodem (CRC) |
- | d) Kermit |
- | e) Telink |
- | f) Modem7 (Checksum) |
- | g) Modem7 (CRC) |
- | h) Ymodem |
- | i) Ymodem (Batch) |
- | |
- | |
- | |
- | |
- | |
- | |
- ------------------------------------------------------
-
- Ascii
- =====
-
- Ascii file transfer receives a file without any kind of error
- checking. This is the fastest transmission method for text files and
- generally works well on hard-wired lines. It does NOT work for binary
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 30
-
-
-
- files, and it is NOT well-suited for use over phone lines or digital
- transmission units. This is because of the high probability of line
- noise introducing spurious characters -- especially on long-distance
- calls.
-
- Xmodem
- ======
-
- Xmodem Checksum and Xmodem CRC are the two commonest transfer methods
- for use with remote bulletin board systems and many mini-computer
- systems. These are single-file-at-a-time transfer methods. Ward
- Christensen originated the Xmodem protocol. Files are transmitted in
- 128 character blocks along with the block number and checksum or
- cyclic redundancy check information. This allows the receiving system
- to ensure that the transmission has occurred correctly to a very high
- degree of probability. The CRC error-checking method is superior to
- the Checksum method, so you should always use the CRC method if the
- remote system to which you are connected accepts it. RCPM, Fido, and
- PC Host bulletin board systems support Xmodem CRC; recently, RBBS
- systems have started to support it. Few mainframe systems support
- Xmodem; CDC's NOS is one that does.
-
- Modem7
- ======
-
- Modem7 batch protocol is a variant of Xmodem which sends the file name
- before the file itself. This provides for sending a batch of files
- all at one time. Each file is preceded by the file name. Either
- checksum or CRC error-checking can be used with Modem7.
-
- Ymodem
- ======
-
- Ymodem is another Xmodem variant which provides for long 1024
- character blocks -- more efficient for higher baud rates like 2400,
- 4800, and 9600 baud -- and for sending the exact file size. Ymodem
- also has facilities for sending the file creation time. Ymodem can
- act either as a single-file or a batch-file protocol. Ymodem was
- developed by Chuck Forsberg and Ward Christensen. PibTerm supports
- both the single-file and batch version of Ymodem, and also supports
- the file length and file creation time information.
-
- Telink
- ======
-
- Telink is a variant of Modem7 proposed by Tom Jennings that adds
- information on file size and file creation time to the file name.
- PibTerm will use the file size and creation time information from
- Telink if it appears. Telink is most useful with FIDO bulletin board
- systems. PibTerm always requests the CRC version of Telink, since
- there is no reason to use the Checksum version.
-
- Incidentally, if you enter the wrong Xmodem variant protocol name,
- PibTerm will try and adjust as it receives blocks from the remote
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 31
-
-
-
- system. In other words, if the remote system decides to send the file
- using Telink, but you just say Modem7, PibTerm will adjust to Telink
- anyway. Likewise, a Ymodem 1024-character block is automatically
- handled, as is the Ymodem header block if any, even if you say that
- you want an Xmodem transfer. Of course, PibTerm cannot always adjust
- properly, so it's best to tell it the proper transfer type to avoid
- problems.
-
- Kermit
- ======
-
- Kermit is a protocol developed at Columbia University. It is
- available on a large number of computer systems, from micros to
- mainframes. It is probably the commonest and most widely available
- protocol on mainframes. It is also the only protocol available in
- PibTerm that provides for transferring binary files even when the
- transmission parameters are set for 7 bits. Kermit does this though
- the use of a "quoting" mechanism so that an 8-bit character is
- transmitted as a special marker character indicating the high-order
- bit is turned on and a second character containing the other seven
- bits. Kermit can transmit a single file or a group of files. The
- version implemented in PibTerm can be used with a remote server, but
- PibTerm itself does not act as a Kermit server.
-
- Here is the menu which appears when you choose Kermit protocol:
-
- -[ Choose Kermit function: ]-----------
- | |
- | a) GET text file |
- | b) GET binary file |
- | c) RECEIVE text file |
- | d) RECEIVE binary file |
- | L) Logout remote server |
- | Q) Quit kermit |
- | |
- | |
- ---------------------------------------
-
-
- With Kermit you need to distinguish between receiving a text file and
- receiving a binary file. Many mainframe Kermits will only accept text
- files, while some microcomputer Kermits only accept binary files
- (including text files send as binary files). When receiving a file
- you must also distinguish between the Kermit GET and RECEIVE
- functions. Use RECEIVE to transfer a file when you have manually
- requested the remote Kermit to SEND a file. Use GET to transfer a
- file when the remote system is in server mode. You can also logout
- the remote Kermit server from PibTerm using the L) Logout entry in the
- Kermit transfer menu. PibTerm leaves you at the Kermit menu until you
- type Q) quit; this allows you to GET many files without having to
- first type an Alt-R for each.
-
- If you choose a) GET text file or b) GET binary file then you will be
- prompted for the name of the file to receive. This should be the name
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 32
-
-
-
- of the file on the remote system. If the name is not compatible with
- MS DOS file naming conventions, PibTerm will try to alter it to make
- it compatible. If the file name already exists, then PibTerm will
- rename the incoming file. In either case you will be told what the
- revised file name will be.
-
- If you choose c) RECEIVE text file or d) RECEIVE binary file then the
- (possibly altered) file name from the remote system is used.
-
- You may enter a wildcard specification if the remote system
- understands it.
-
- There are a number of Kermit parameters which can be defined at the
- Alt-P K) Kermit parameters menu. In general, you will never need to
- alter those values. If you do, consult the Kermit manual for the
- remote system in order to see what settings you need to use.
-
- Because of the text/binary complication, you may find that a Kermit
- transfer fails if you specify the wrong type. Most often, you should
- use the TEXT transfers to mainframes, and the BINARY transfers to
- micros. You may also need to set parameters in the remote Kermit,
- such as character set type or timeout values. Again, consult the
- reference manual for the remote system's Kermit for details.
-
- There are three different error-checking methods used in various
- Kermit implementations. The first method, which all Kermits allow, is
- the 6-bit checksum. Some Kermits optionally provide a 12-bit
- Checksum, which is the second method. The third method is to use a
- 16-bit CRC, similar to the one in Xmodem-CRC but differing in the
- definition of the bit string order. PibTerm's Kermit will work with
- any of those three block checks. If the remote Kermit provides the
- 16-bit CRC, you should use that on phone lines. The 6-bit Checksum
- seems reliable enough for hard-wired connections. On downloads,
- PibTerm automatically switches to whatever block check the remote
- Kermit uses. You generally need to issue a command to the remote
- Kermit to get it to use the optional block checks. See the reference
- manual for the remote Kermit for details.
-
- The Kermit implementation in PibTerm is based in part upon the TKERMIT
- program written by Jeff Duncan. Thanks Jeff!
-
- Mahoney BBS autodownload
- ========================
-
- Bob Mahoney implemented a special variant of Modem7 protocol for use
- on his EXEC PC BBS system in Milwaukee, Wisconsin. This protocol is
- ONLY available when you are in VT52 emulation mode; this corresponds
- to the IBM 3101 mode used by Bob's BBS. To use the autodownload
- feature on EXEC PC BBS, you must be in the file transfer menu of EXEC
- PC. You then enter
-
- A;file1;file2;file3;....
-
- where the A indicates an autodownload is desired, and file1, file2,
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 33
-
-
-
- etc. are the file names of files to download. You need NOT enter
- ALT-R at all, since PibTerm will receive instructions directly from
- EXEC PC BBS to begin and execute the download. Greg Ryan provided the
- original code in Turbo Pascal to implement this autodownload facility
- (thanks, Greg!).
-
- CIS B
- =====
-
- CompuServe B Protocol, like the special Exec PC BBS protocol, does NOT
- require an explicit Alt-R for a download. Instead, you must be in
- VT52 or Ansi or VT100 mode, and you must have set the Compuserve B
- recognized flag (using Alt-P, then requesting the "n) miscellaneous
- parameters" menu). CompuServe will issue an Ascii 05 character (ENQ),
- which automatically starts the transfer. You can halt a transfer by
- hitting the ESC (escape) key. The actual cancellation time can be as
- much as thirty or forty seconds. You should avoid setting this
- protocol ON by default unless you are about to do a transfer on
- CompuServe. The reason is that line noise often appears as ENQ
- characters, resulting in spurious CompuServe transfers being
- initiated.
-
- In the single-file tranmission methods, you are informed if a
- downloaded file would overwrite an existing file. No such warning
- occurs in the batch transfer methods, to avoid timeout problems. The
- best approach is to change the logged directory when downloading files
- to be an empty directory.
-
- You may cancel a transfer by hitting ALT-R again while the transfer is
- in progress. Do not expect an immediate response from PibTerm since
- the cancellation requires some handshaking between PibTerm and the
- remote system.
-
- At this time, PibTerm does NOT check if the download disk contains
- enough room to hold the received file. You should ensure that there
- is enough room before starting a transfer.
-
- The default download buffer for Xmodem is large enough to hold sixteen
- 128-byte or two 1024-byte sectors. This means that a disk write is
- usually done only after collecting sixteen 128-byte sectors or two
- 1024-byte sectors. You can adjust this buffer size by altering the
- value of the 'XB=' parameter (see the Alt-P section above) to indicate
- the number of 128-byte sectors to hold in memory before a disk write
- is performed. The expanded buffer size is also used by Kermit.
-
- PibTerm requires AT LEAST TWO CAN characters (Ctrl-X or Ascii 24) to
- cancel a download. This eliminates unnecessary cancellations because
- of spurious CANs attributable to line noise.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 34
-
-
-
- Alt-S: Send file to remote
- ===========================
-
- ALT-S allows you to send files to a remote system. The same protocols
- are available as for sending files, with the exception of the EXEC PC
- method, for which there is no corresponding auto-upload. The menu for
- uploads resembles that for downloads.
-
- For single file transmission methods you are prompted for the name of
- the file to be transmitted. For the batch methods you may enter a
- wildcard specification, and all files matching the wildcard
- specification will be transmitted to the remote system. For example,
- if the current logged directory has three files
-
- A.PAS
- B.PAS
- C.PAS
-
- then entering the file name as *.PAS to, say, Modem7 results in all
- three files being transmitted to the remote system.
-
- You may cancel a transfer (except in CompuServe B mode) by hitting
- ALT-S again while the transfer is in progress. Do not expect an
- immediate response from PibTerm since the cancellation requires some
- handshaking between PibTerm and the remote system.
-
- When you upload an Ascii file, you will be prompted for the name of
- the file. Then, you will be asked the following questions:
-
- 1. What delay to use between characters;
-
- 2. What delay to use at the end of a line;
-
- 3. What character to wait for from the remote system in order to
- send the next line (the pacing character);
-
- 4. Whether to send a carriage return only or a carriage return
- and line feed combination at the end of each line.
-
- The inter-character delay and inter-line delays provide a means of
- slowing down the transfer to accomodate slow mainframe systems which
- have difficulty accepting large batches of characters all at once.
- The pacing character instructs PibTerm to wait until the selected
- character appears from the remote before sending each line of text.
- Some remote systems prefer to have an ascii file entered only with
- carriage returns, not carriage returns and line feeds together.
-
- CompuServe B Protocol does NOT require an explicit Alt-S for an
- upload. Instead, you must be in VT52 or Ansi or VT100 mode, and you
- must have set the Compuserve B recognized flag (using Alt-P and then
- requesting the "n) miscellaneous parameters" menu). CompuServe will
- handle the transfer automatically. You can halt a transfer by hitting
- the ESC (escape) key. The actual cancellation time can be as much as
- thirty or forty seconds. You should avoid setting this protocol ON by
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 35
-
-
-
- default unless you are about to do a transfer on CompuServe. The
- reason is that line noise often appears as ENQ characters, resulting
- in spurious CompuServe transfers being initiated.
-
- Alt-T: Get translate table
- ===========================
-
- ALT-T allows you to define a translation map for all incoming
- characters. You may request that any one of the 256 Ascii characters
- be changed to any other character. This facility is most useful in
- stripping unwanted characters -- just request that the incoming
- unwanted characters be translated to nulls (binary 0 -- also known as
- control-@).
-
- ALT-T causes PibTerm to prompt you for the name of a file containing
- translation information. You can enter the name of a file if one
- exists, or just hit the enter key if you want to enter the translation
- mapping from the PC's keyboard. You need only enter the first part of
- the name; the suffix .TRA is assumed. The translate file PIBTERM.TRA
- (if it exists) is automatically read when PibTerm is first invoked.
- You can create that file here using keyboard definition mode.
-
- If you hit enter rather than a file name PibTerm displays a menu
- containing the current translation definitions for ascii characters 0
- through 127. You can hit S to select a display of characters 128
- through 255. Use arrows to move up/down/left/right through the
- displayed table. To change a character definition, just enter the
- decimal value of the ascii character to which to map the selected
- character. You may define as many characters as you please.
-
- To exit the translate definition mode, hit the ESC (escape) key. You
- will be prompted for the name of a file to which to save the
- definitions. You can just hit the enter key, in which case the
- definitions are not saved to a file. If you do enter a file name, you
- need only enter the first part of the name; the suffix .TRA is
- assumed. You can then use that file later by hitting ALT-K and
- providing that file name.
-
- You may have as many different files of translation mappings as you
- want, but of course only one translation mapping can be in effect at a
- time. You can change the mapping by hitting ALT-K to read a new file
- or edit the definitions by hand.
-
- The file STRIPHI.TRA provided as part of the PibTerm release materials
- contains a translation table that causes the Ascii characters from 128
- through 255 to be mapped into the characters 0 through 127 in order.
- This mapping is useful if you are calling a remote system using 8
- bits, and No Parity as the communications parameters -- a good first
- choice -- and you see mostly garbage on the screen after connecting.
- The garbage is often a result of the remote system using even or odd
- parity. When using STRIPHI.TRA, PibTerm will strip the parity bit off
- each incoming character so that you can read it and figure out what to
- do next.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 36
-
-
-
- Alt-U: Screen dump to file
- ===========================
-
- ALT-U prompts you for a file name to receive the text of the currently
- displayed screen image. Only the text on the screen is written to the
- file, not the attributes (like color, or blink). You can only perform
- a screen dump when you are in terminal mode, NOT when you are already
- at another menu or in host mode.
-
- ALT-V: View Back Scroll Buffer
- ===============================
-
- If the BB=n parameter is greater than zero, then PibTerm saves the
- last n lines displayed on the screen in a back scroll buffer. You can
- display the saved lines by hitting Alt-V. The result will be a
- split-screen display in which the first 20 lines of the screen act as
- a window over the back scroll buffer, and the available commands and
- the number of the current line being viewed appear at the bottom of
- the screen.
-
- The PC keypad keys control viewing. Use the up and down arrows to
- scroll up and down one line at a time through the saved lines. PgUp
- and PgDn take you up and down a page of 20 lines, respectively. Home
- takes you to the first page, and End takes you to the last page. ESC
- exists the view mode.
-
- The view buffer does NOT take account of escape sequences, so the
- resulting saved display for a full-screen session may not be very
- readable.
-
- Alt-W: Wait for call
- =====================
-
- ALT-W causes PibTerm to enter host mode. In this mode PibTerm acts
- like a mini-BBS and answers the phone, providing a simple message and
- file-transfer facility. More details on using host mode in PibTerm
- can be found in a special section on PibTerm host mode below.
-
-
- Alt-X: Exit PibTerm
- ====================
-
- Alt-X serves three purposes:
-
- 1. If a "WHEN" string is active, Alt-X is used to stop the "WHEN"
- processing from happening.
-
- 2. If a script is executing, Alt-X stops the script from
- executing.
-
- 3. If no script is running, Alt-X is used to exit PibTerm.
-
- The phone line is NOT necessarily hung up when you exit PibTerm. It
- generally will be if you have the DTR line set normal. This allows
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 37
-
-
-
- you to re-enter the session at a later time if you so desire. If you
- set DTR permanently high, then the phone line is probably NOT hung up
- when you exit PibTerm. Hence, you should be sure to hang-up the phone
- using ALT-H before leaving PibTerm if you do not plan to re-enter a
- session.
-
-
- Alt-Y: Display elapsed time
- ============================
-
- Alt-Y displays two elapsed time values: the total time since PibTerm
- started executing, and the elapsed time since the last successful
- remote dialing session began. You may clear the latter timer value by
- entering a C when prompted.
-
- Alt-Z: Get area code
- =====================
-
- ALT-Z invokes PibTerm's built-in dialing area directory. You can
- enter a dialing code, a state, or a country and receive the
- corresponding state, country, or dialing codes. For domestic area
- codes, you also receive a list of representative cities and towns in
- that area.
-
- Shift-Tab: Toggle adding linefeeds
- ===================================
-
- Some systems may not send a carriage return/line feed sequence, but
- only a carriage return, assuming that a line feed will automatically
- be added by the remote terminal. Hitting Shift-Tab toggles this
- automatic addition of a line-feed character to each incoming carriage
- return. If you log into a system and all the lines from the remote
- system are being displayed on a single line, then you probably need to
- toggle linefeed mode by hitting Shift-Tab.
-
-
- NOTES ON TERMINAL EMULATION
- ===========================
-
- PibTerm provides dumb terminal emulation (and gossip mode, a
- split-screen dumb terminal mode), an ANSI mode for connecting to BBS
- systems which use ANSI graphics and music, Dec VT52 mode (which can
- also be used to display some IBM 3101 codes), and Dec VT100 mode. The
- VT52, VT100, and ANSI/BBS modes need some further explanation.
-
- VT52 MODE
- =========
-
- The VT52 mode is quite complete, and features a couple of additional
- escape sequences for use with Bob Mahoney's EXEC PC BBS (for box
- drawing and auto-downloading). Many mainframe and mini systems
- recognize the VT52 terminal.
-
- The keypad is mapped onto the function keys F1 through F10 and Shift
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 38
-
-
-
- F1 through Shift F10. F1 through F10 are the LEFT half of the keypad;
- Shift F1 through Shift F10 are the RIGHT half of the keypad. You may
- also use the PC's arrow keys as the VT52 cursor keys. Double-width
- keys in the real VT52 keypad are mapped on to two adjacent keys on the
- PC's function keys. Pressing either of the PC function keys which map
- to one VT52 key will activate that key.
-
- Note that the VT52 function key definitions OVERRIDE ANY OTHER
- DEFINITIONS YOU MAKE for the function keys.
-
-
- VT100 MODE
- ==========
-
- The PibTerm VT100 emulator processes all the codes that the standard
- MS DOS ANSI.SYS processes, plus a number of private DEC escape
- sequences. VT102 codes for character insert and delete or printer
- control are NOT implemented (yet!). Mode change requests ( ESC [ ...
- l or ESC [ ... h ) that change character sizes are ignored. This
- means no double height or double width characters, no 132 column mode,
- and so on. Also, only fixed position tabs are allowed -- tab setting
- is not implemented. In general, any escape sequence not implemented
- in PibTerm is simply swallowed up and ignored.
-
- Nevertheless, the implemented sequences are sufficient to use the
- full-screen editors EDT under Dec's VAX/VMS, XEdit under IBM's VM/CMS
- (through some Ascii front end protocol converter, e.g., Yale's), and
- FSE under CDC's NOS operating system.
-
- Unlike the VT52 mode, the VT100 keypad has NOT been mapped onto a
- fixed set of keys. Instead, you can define whatever keys are most
- convenient for your particular application. The file VT100.FNC
- provided with this copy of PibTerm contains definitions which map the
- standard VT100 keypad applications mode keys onto function keys F1
- through F10 and Shift F1 through Shift F10 -- again, the left half of
- the VT100 keypad is mapped to F1 through F10, and the right half is
- mapped to Shift F1 through Shift F10. The PC's arrow keys function
- like the keypad application mode cursor keys.
-
- The file CDCNOS.FNC contains definitions useful under CDC's NOS
- operating system. Unlike the VAX, the CDC system requires that a
- carriage return follow each keypad character in order to be
- recognized. CDCNOS.FNC defines the proper codes for use with the FSE
- editor, and adds the required carriage return. This makes it very
- convenient to use the PC as a terminal to NOS since you do not have to
- constantly hit the carriage return key after each VT100 keypad key.
- Note that the order of the keys is DIFFERENT in CDCNOS.FNC than in
- VT100.FNC.
-
- PibTerm's VT100 emulation DOES understand requests for the alternate
- VT100 graphics characters. PibTerm maps the VT100 graphics characters
- onto similar PC graphics characters.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 39
-
-
-
- ANSI/BBS MODE
- =============
-
- The ANSI/BBS mode interprets a small set of ANSI commands, sufficient
- to handle the codes usually sent by BBSs. In addition, the special
- escape codes for music are interpreted and played through the PC's
- speaker (unless mute mode -- selected by ALT-M -- is in effect).
-
-
- USING SCRIPT FILES
- ==================
-
- PibTerm provides an extended script file facility which allows you to
- create a file containing a set of instruction for PibTerm to execute.
- The instructions can include dialing up a remote system, performing
- file transfers, and waiting for a specific time before initiating an
- event. The script facility allows you to set up PibTerm to run in an
- unattended mode and take advantage of off-hours rates on host computer
- systems, as well as to automate such chores as logging in to remote
- systems.
-
- Executing a script file
- =======================
-
- There are two ways to execute a script file. The first is to enter
- the file name of a script file on the PibTerm command line itself at
- the DOS prompt:
-
- PIBTERM script.SCR
-
- where 'script.SCR' is the name of a script file. You need not
- explicitly give the .SCR, it is understood if no other extension is
- provided.
-
- When PibTerm begins execution, it will take its input from the script
- file. You may still make keyboard entries if you desire, and there
- are some script commands which explicitly request keyboard entry.
- This provides quite a bit of flexibility in case something goes wrong
- during the execution of a script and you are present to repair the
- damage.
-
- If no script file name appears on the PibTerm invocation, PibTerm
- looks for the file PIBTERM.SCR and executes it as a script if found.
-
- To exit a script, use the ALT-X command. When a script is executing,
- you will be prompted as to whether or not you want to stop executing
- the script. If you then want to exit PibTerm, type Alt-X again.
-
- The second way to execute a script file is to go to the Alt-P menu and
- select S)cript file execution. You will be prompted for the name of
- the script file to execute. Again, you need only provide the first
- part of the file name; .SCR is understood.
-
- Before executing a script file, PibTerm scans it and converts it to an
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 40
-
-
-
- in-memory list of commands. During the scanning process, you will be
- informed if any script command line is syntactically bad. (PibTerm
- only looks for the first bad line at this time.) Any erroneous script
- statement prevents PibTerm from executing the script.
-
- Script files are limited to 32767 characters in length. This should
- be sufficient for nearly any purpose. Also, the size of a script is
- limited by the available memory to hold the "compiled" script code.
- If there is not enough memory for the script, it will not be executed.
-
-
- SCRIPT FILE COMMANDS
- ==================
-
- Script file commands consist of an initial command word possibly
- followed by one or more arguments. Blank lines or lines beginning
- with an "*" may be used as comments. Many of the commands perform
- similar functions to the regular Alt-letter keyboard entries described
- previously.
-
- Here is a complete list of PibTerm script commands with a brief
- description of the purpose of each. A detailed description of each
- command follows.
-
- AddLF --- adds line feeds to carriage returns (like Ctrl-Tab).
-
- Break --- issue a break sequence (like Alt-B).
-
- Capture --- toggles session capture to specified file (like Alt-O).
-
- Clear --- clears the screen (like Alt-C).
-
- Delay --- Delays PibTerm execution for specified length of time.
-
- Dial --- dial a number in the dialing directory (like Alt-D).
-
- Dos --- executes a specified DOS command (somewhat like Alt-J).
-
- Echo --- toggles local echo (like Alt-E).
-
- Else --- FALSE branch of an IF statement.
-
- Endif --- ends an IF statement.
-
- EndWhile --- ends a WHILE statement.
-
- Exit --- stop executing the script.
-
- Hangup --- hangs up the phone (like Alt-H).
-
- Host --- enters Host mode (like Alt-W).
-
- If --- test for several different types of conditions;
- Else is also available and Endif terminates an IF block.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 41
-
-
-
-
- Input --- prompt for input from local user.
-
- Key --- sets function keys from specified file (like Alt-K
- "Read definitions from a file").
-
- KeySend --- sends specified function key's definition to remote
- system.
-
- Log --- toggles session logging on printer (like Alt-L).
-
- Message --- display message on PC's screen; message is not sent
- to remote system.
-
- Mute --- toggles mute mode (like Alt-M).
-
- Param --- sets program parameters (syntax like that used in the
- PIBTERM.CNF file -- see Alt-P description above).
-
- Receive --- receives a file from a remote system (like Alt-R).
-
- Redial --- redials the last phone number entered (like Alt-Q).
-
- Repeat --- begins block of statements to be repeatedly executed unti
- condition on matching UNTIL statement is true.
-
- Reset --- starts executing script from the beginning again.
-
- RInput --- prompt for input from remote system.
-
- Send --- sends a file to a remote system, like Alt-S.
-
- SText --- send text to remote system, and interpret embedded
- characters like function key characters.
-
- Suspend --- suspends script execution for specified length of time
- (PibTerm continues executing).
-
- Text --- send text to remote system without interpretation.
-
- Translate --- reads in a translation table (like Alt-T).
-
- Until --- terminates REPEAT block and provides termination conditio
-
- Wait --- stops PibTerm execution until a specified time
- (in HH:MM:SS form) is reached, at which time execution
- proceeds.
-
- WaitString --- waits for a given string to appear from the
- remote system (only done once).
-
- When --- waits for a given string to appear from the
- remote system, and then sends a specified response
- string (done as often as required string appears).
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 42
-
-
-
-
- While --- Begins block of statements to be repeatedly executed as
- long as specified condition is true. A While block is
- terminated by an EndWhile statement.
-
- Syntax of script commands
- =========================
-
- A couple of general comments about script command syntax are in order
- here.
-
-
- 1. Command names may be entered in any case; "CLEAR" = "Clear" =
- "ClEaR".
-
- 2. Each command must fit on a single input line. There is no
- provision for multi-line commands.
-
- 3. When quoted strings are called for, either single or double
- quotes may be used. To insert a quote into a string in which
- that same quote is being used as the string delimiter, write
- two adjacent quotes. For example, the string
- Here's a string
-
- can be written as:
- 'Here''s a string'.
-
- 4. Quoted strings cannot span a line. If the closing quote for a
- string is not encountered before the end of the line, then a
- quote is automatically assumed at the end of the line.
-
- SCRIPT COMMANDS IN DETAIL
- =========================
-
- This section describes each Script command in detail. Necessarily,
- the examples for some commands use other commands which will not be
- described until later. You may need to make two passes through these
- descriptions in order to fully understand the examples.
-
-
- AddLF
- =====
-
- 'AddLF' toggles the addition of a line feed to each carriage return
- received from the remote system. 'AddLF' acts exactly the same as the
- Ctrl-Tab PibTerm keyboard entry.
-
- Break
- =====
-
- 'Break' issues a sustained break signal over the communications port.
- This is exactly the same as hitting the Alt-B.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 43
-
-
-
- Capture
- =======
-
- 'Capture' toggles session capture to a specified file. The file
- should be specified in quote marks. For example, to initiate session
- capture to file "GETIT.DAT", use the script command:
-
- Capture "GETIT.DAT"
-
- To turn off capture later in the same script, just enter Capture with
- no argument:
-
- Capture
-
- Be careful -- if you enter Capture with no arguments, and you have not
- previously requested session capturing, then PibTerm will issue a
- prompt for the capture file name. The intent here is to provide
- flexibility when running a script in attended mode; but if you're not
- careful, you may find an unattended script gets hung up waiting for
- the capture file name entry.
-
- Clear
- =====
-
- 'Clear' clears the screen, just like the Alt-C keyboard command.
-
- Delay
- =====
-
- 'Delay' delays PibTerm execution for the number of tenths of a second
- specified by the argument. For example,
-
- Delay 10
-
- delays PibTerm execution for one second (ten tenths = one). To delay
- execution for half a second, enter:
-
- Delay 5
-
- 'Delay' differs from the 'Suspend' command described below. The
- Suspend command only halts SCRIPT processing for the specified length
- of time. Delay halts ALL PibTerm processing (except the asynchronous
- reception of incoming characters).
-
- Dial
- ====
-
- 'Dial' dials a number in the PibTerm dialing directory, just like
- Alt-D. Specify the number to be dialed in quotes. For example, to
- dial directory entry 3, use the command:
-
- Dial "3"
-
- You can add the dialing prefix characters if you wish:
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 44
-
-
-
-
- Dial "-3"
-
- You can also request a manual dial by prefixing the entire number with
- an M:
-
- Dial "M1234567"
-
- Dos
- ===
-
- 'Dos' executes a specified DOS command -- somewhat like Alt-J, but
- only for a single command. Specify the command to be executed in
- quotes.
-
- For example, to execute a DIR command, enter:
-
- Dos "DIR"
-
- Unlike the Alt-J command, 'Dos' automatically returns to PibTerm after
- executing the single specified DOS command, unless the specified
- command is null. In that case, 'Dos' WILL drop to a new level of the
- command processor, and you will have to enter EXIT to return to
- PibTerm.
-
- Echo
- ====
-
- Echo toggles local echo mode, just like the keyboard entry Alt-E. In
- local echo mode, PibTerm displays characters as you type them, and
- doesn't wait for the remote system to echo them back.
-
- Else ====
-
- 'Else' is described as part of the 'If' command below.
-
- Endif
- =====
-
- 'Endif' is described as part of the 'If' command below.
-
- EndWhile
- ========
-
- 'EndWhile' is described as part of the 'While' statement below.
-
- Exit
- ====
-
- 'Exit' terminates execution of the script. PibTerm automatically
- inserts an exit at the end of a script, so you need not provide it
- there. Exit is most useful when you want to stop script execution
- somewhere in the middle of a script.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 45
-
-
-
- Note that terminating a script does NOT terminate processing of any
- defined 'When' string. See the section on the 'When' script command
- below for further details.
-
- Hangup
- ======
-
- 'Hangup' hangs up the phone, just like the keyboard entry Alt-H.
-
- Host
- ====
-
- 'Host' causes PibTerm to enter Host mode, just like the keyboard
- command Alt-W. In this mode PibTerm acts like a mini-BBS (bulletin
- board system). Remote callers can dial your system and transfers
- files and leave messages. See the section on PibTerm Host mode below
- for more details.
-
- If
- ==
-
- 'IF' provides a mechanism for testing several different types of
- conditions. The general form of the 'If' statement in PibTerm is:
-
- IF condition
- < script statements executed if condition is TRUE >
- ELSE
- < script statements executed of condition is FALSE >
- ENDIF
-
- The 'Else' part is optional and need not be specified. You MUST
- specify the 'Endif'.
-
-
- The following conditions can be specified on the If statement:
-
- Waitstring --- If the string specified in the last previous
- WaitString command appeared (see the WaitString
- command for more details).
-
- Connected --- If PibTerm is connected to a remote system.
- This check is performed by examining whether the
- carrier detect line is active or not.
-
- Local --- If the reply string provided to the last previous
- 'Input' command (which see) contains the string
- specified immediately following the 'Local' on
- the IF statement. The reply string from the
- 'Input'
- statement must match in case with the text on the
- 'If' command. Note that the test is a CONTAINMENT
- test, not and EQUALITY test.
-
- Remote --- If the reply string provided to the last previous
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 46
-
-
-
- 'RInput' command (which see) contains the string
- specified immediately following the 'Remote' on
- the IF statement. The reply string from the
- 'INPUT'
- statement must match in case with the text on the
- 'If' command. Note that the test is a CONTAINMENT
- test, not and EQUALITY test.
-
- You need only provide the first three letters of these conditions.
- You may also prefix each of these conditions with a "NOT" to indicate
- that you wish to test the reverse of the specified condition.
-
- For example, to see if PibTerm is online to a remote system, you could
- write:
-
- If Connected Then
- Message "PibTerm is connected to a remote system."
- Else
- Message "PibTerm is NOT connected to a remote system."
- Endif
-
- The 'Then' on the If statement is optional, and is ignored if present.
- It's just there so that inveterate Pascal programmers who can't STAND
- to write an If without a Then will be happy.
-
- To ask a yes/no answer to a question about hanging up the phone, and
- test for a yes/no answer, you could write:
-
- Input "Do you want to hang up the phone? "
- If local "Y,y" Then
- Message " "
- Message "OK, hanging up the phone."
- Else
- If local 'N,n' Then
- Message " "
- Message "OK, phone not hung up."
- Else
- Message "Bozo, you didn't enter Y or N."
- Endif
- Endif
-
- This example indicates that If statements may be nested. You may nest
- If statements up to 10 deep. This example also illustrates that the
- If statement checks are case-sensitive, but you can easily include
- both cases of text to check for in the If statement.
-
- The next example demonstrates how to check that the text from a
- WaitString command has appeared:
-
- WaitString "Username:" 20
- If NOT WaitString Then
- Message "Username prompt did not appear within twenty seconds."
- Hangup
- Exit
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 47
-
-
-
- Endif
-
- Here the WaitString command (which see) is looking for the string
- "Username:", and a time limit of 20 seconds has been placed on its
- appearance. If the WaitString doesn't appear in those twenty seconds,
- then the next statement in the script file -- here the If statement --
- is executed. The If statement checks if the "Username:" text ever
- arrived, and if not, hangs up the phone and quits script execution.
-
- The conditions tested by the If statement can also be tested in the
- 'Repeat/Until' and 'While/EndWhile' statements, providing a facility
- for conditional looping in scripts. See the 'Repeat' and 'While'
- statements for more details.
-
- Input
- =====
-
- 'Input' prompts for input from the keyboard. The prompt should be
- enclosed in quotes. The keyboard input is stored in a string and can
- be tested by the 'If Local' statement.
-
- For example, to ask a yes/no question about hanging up the phone,
- write:
-
- Input "Do you want to hang up the phone? "
-
- To see how the resulting input can be used, see the 'If' statement
- description above.
-
- Key
- ===
-
- 'Key' sets function keys from a specified file, like the Alt-K
- keyboard entry "Read definitions from a file". Put the file name from
- which the definitions are to be read in quotes. For example,
-
- Key "mydefs"
-
- reads key definitions from file "mydefs.fnc" -- the ".fnc" is
- understood.
-
- KeySend
- =======
-
- 'KeySend' sends the specified function key's definition to the remote
- system. The function key name should NOT appear in quotes. The
- allowed names are:
-
- F1 through F10;
- A1 through A10 (for Alt-F1 though Alt-F10);
- C1 through C10 (for Ctrl-F1 through Ctrl-F10);
- S1 through S10 (for Shift-F1 through Shift-F10).
-
- For example, to send the text associated with function key F1 to the
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 48
-
-
-
- remote system, enter:
-
- KeySend F1
-
- Log
- ===
-
- 'Log' toggles session logging on printer, like the keyboard entry
- Alt-L. You should ensure that your printer is turned on before using
- Alt-L. When logging is active, all the output from the remote system
- is echoed on your printer.
-
- Message
- =======
-
- 'Message' displays a message on your screen; the message is NOT sent
- to any remote system to which you may be connected. Specify the text
- of the message to be sent in quotes. For example:
-
- Message "Here is a sample message."
-
- The message text cannot span more than a single line. You may enter
- as many 'Message' statements in a row as you want, if you wish to have
- more than one line of text appear.
-
- Mute
- ====
-
- 'Mute' toggles mute mode, like the keyboard entry Alt-M. In mute
- mode, no sounds like bells or music are issued. This is ideal for
- those late-night sessions when you want to log in to those BBSs that
- play the entire top 40 rock hits before they allow you to do anything
- useful, and for those mainframe systems which beep at you everytime
- you do ANYTHING at all.
-
- Param
- =====
-
- 'Param' sets Pibterm program parameters. The syntax follows that used
- in the PIBTERM.CNF file (see Alt-P description above). You specify
- the two-letter name of the parameter to change, then an equal sign,
- and then the value to be assigned to that parameter. The parameter
- names and values are described in the description of the Alt-P
- keyboard command above.
-
- For example, to change the terminal emulation to VT100 mode, write:
-
- Param te=3
-
- To change the baud rate to 1200 baud, write:
-
- Param ba=1200
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 49
-
-
-
- Receive
- =======
-
- 'Receive' causes Pibterm to receive a file from a remote system, like
- the keyboard command Alt-R. Specify the name of the file to be
- received in quotes, and the transfer protocol after the file name.
- The protocol names are:
-
- A -- Ascii
- X -- Xmodem CheckSum
- XC -- Xmodem CRC
- Y -- Ymodem
- YB -- Ymodem Batch
- T -- Telink
- M -- Modem7 Batch Checksum
- MC -- Modem7 Batch CRC
- K -- Kermit (Text file)
- KB -- Kermit (Binary file)
-
-
- For example, to receive the file YUMYUM.PAS using Xmodem-CRC, write:
-
- Receive "yumyum.pas" xc
-
- To receive a batch of files using Telink, write:
-
- Receive "" t
-
- The file names are automatically provided by the sender with Telink,
- so you don't have to specify the name -- just provide a null filename
- as shown above.
-
- Note that "Receive" only sets up PibTerm to receive a file -- it does
- NOT initiate a transfer from the remote system. You will need to
- issue a command to the remote system to get it to start a transfer so
- that Pibterm can receive the file(s). For example, if you are
- connected to the file section of an RBBS system, you might enter the
- following sequence of statements to download a file you know you want:
-
- *
- * Request that file "goodstuf.lbr" be sent to me.
- *
- Stext "s;goodstuf.lbr;x|"
- Receive "goodstuf.lbr" x
-
- Redial
- ======
-
- 'Redial' redials the last phone number entered, like the keyboard
- command Alt-Q. However, you can specify a phone number in quotes on
- the 'Redial' command and PibTerm will redial that phone number until a
- connection is established. For example, to repeatedly dial phone
- directory entry 3 until a connection is established, write:
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 50
-
-
-
- Redial "3"
-
- Repeat
- ======
-
- 'Repeat' begins a block of statements to be repeatedly executed until
- the condition on a matching UNTIL statement is true.
-
- Repeat
- stext '|'
- waitstring "Username:" 1
- Until waitstring found
-
- Testable conditions are described under the "If" statement above.
-
- Reset
- =====
-
- 'Reset' starts executing the current script from the beginning of the
- script again. Reset has no arguments.
-
- RInput
- ======
-
- 'RInput' prompts for input from the remote system. Specify the prompt
- to be issued in quotes. The prompt string may contain the special
- function key characters for carriage return, control-key definition,
- and 1-second delay described under the Alt-K keyboard command.
-
- The response can be tested for content using the "If Remote"
- statement.
-
- For example, to prompt a remote caller for a yes/no response you could
- write:
-
- RInput "Do you want to quit (enter Y or N ) ? "
-
- Send
- ====
-
- 'Send' sends a file to a remote system, like the keyboard command
- Alt-S. Specify the file(s) to be sent in a quoted string, and follow
- that by the protocol to be used for the transfer. Protocol names are
- the same as for the 'Receive' command documented above.
-
- For example, to send the file "yumyum.lbr" to a remote system using
- Xmodem-CRC, write:
-
- Send "yumyum.lbr" xc
-
- To send all files ending in .PAS using Telink to a remote system,
- write:
-
- Send "*.pas" tc
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 51
-
-
-
-
- 'Send' only causes PibTerm to begin sending files to the remote
- system. You must have previously instructed the remote system to be
- ready to receive the files. For example, if you are connected to the
- file section of an RBBS system, you could send the file "yumyum.lbr"
- using Xmodem with the commands:
-
- stext "r;yumyum.lbr;x|"
- suspend 400
- Send "yumyum.lbr" x
-
- The waitstring is included to ensure we don't start the send procedure
- before RBBS is ready.
-
- Kermit transfers are particularly easy if the remote system can run
- Kermit in server mode. Just run Kermit on the remote system, put it
- into server mode, and issue Sends to your hearts content. For
- example, to send a bunch of files to a Vax system running Kermit under
- VMS, you could write:
-
- *
- * Wait for VMS command prompt
- *
- waitstring "$"
- *
- * Start up Kermit
- *
- stext "Kermit|"
- *
- * Wait for Kermit's prompt, then send command
- * to put Kermit in server mode.
- *
- Waitstring ">"
- stext "Server|"
- *
- * Wait for blurb about server mode to go by, then
- * send a bunch of files, then receive a file.
- *
- suspend 500
- send "*.pas" k
- send "*.doc" k
- *
- receive "newstuf.doc" k
- *
- * Take remote Kermit out of server mode.
- *
- stext "finish|"
- *
- * Tell remote Kermit to stop executing.
- *
- stext "stop|"
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 52
-
-
-
- SText
- =====
-
- 'SText' sends text to the remote system. Specify the text to be sent
- in quote marks. The special characters used in function keys for
- carriage returns, marking control characters, and delays may be used.
- (See the section on the Alt-K keyboard command for details on these
- special characters.)
-
- You've already seen a number of examples of Stext in action in the
- description of previous commands.
-
-
- Suspend
- =======
-
- 'Suspend' suspends script execution for a given length of time
- (PibTerm continues executing). Specify the length of time in
- hundredths of a second.
-
- For example, to stop script processing for one second, enter:
-
- Suspend 100
-
- To stop script processing for half a second, enter:
-
- Suspend 50
-
- 'Suspend' differs from 'Delay' in that 'Delay' stops EVERYTHING except
- the reception of remote characters, while 'Suspend' only stops the
- execution of script commands. Note, however, that WaitString and When
- searches will continue during the suspension period. That makes
- 'Suspend' useful in writing conditional loops with recalcitrant remote
- systems that may require a variable number of, say, carriage returns
- before the remote system wakes up.
-
- Text
- ====
-
- Text sends text to the remote system, WITHOUT any special
- interpretation (e.g., unlike SText). Specify the text to be sent in
- quotes.
-
-
- Translate
- =========
-
- 'Translate' reads in a translation table, just like the "read file"
- option of Alt-T. Specify the file name from which to read the
- translation table in quotes. For example, to read a table from the
- file "Striphi.tra", write:
-
- Translate "striphi"
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 53
-
-
-
- The ".tra" is assumed.
-
- Translate tables are useful in stripping parity bits (as in the sample
- file STRIPHI.TRA provided with the PibTerm release materials), or in
- removing unwanted characters.
-
- Until
- =====
-
- See the 'Repeat' statement above.
-
- Wait
- ====
-
- 'Wait' stops PibTerm execution until a given time (in HH:MM:SS form)
- is reached, at which time execution proceeds. Specify the time in
- HH:MM:SS form in quotes.
-
- For example, to stop PibTerm execution until 1 AM, write:
-
- Wait "01:00:00"
-
- The wait command only works within a given 24 hour period.
-
- WaitString
- ==========
-
- 'WaitString' causes Pibterm to wait for a given string to appear from
- the remote system. Specify the string to be waited for in quotes. By
- default, PibTerm waits for the string for 30 seconds. You can specify
- the time in seconds following the string. If the string does not
- appear within the specified time period, then execution proceeds with
- the next script command. WaitString can be combined with the
- Repeat/Until, While/EndWhile, and If/Else/Endif script statements to
- good effect, since the 'WaitString' condition is TRUE if the specified
- string appeared, and FALSE if it did not appear.
-
- To wait until the string 'Username:' appears, write:
-
- WaitString 'Username:'
-
- PibTerm will wait 30 seconds for 'Username:' to appear. If you want
- it to wait for, say 60 seconds, write:
-
- WaitString 'Username:' 60
-
- You can wait for single character:
-
- WaitString ">"
-
- 'WaitString' slows down PibTerm's execution somewhat, so you should
- not be surprised if the output from the remote system seems to be
- slower than usual.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 54
-
-
-
- When
- ====
-
- 'When' waits for a given string to appear from the remote system --
- like WaitString -- and then sends a specified response string. You
- specify both the subject and response strings in quotes. 'When'
- searching stays active until you de-activate it using Alt-X, even
- after the script itself has finished executing. Hence, to stop a
- script, you can enter Alt-X, but the WHEN keeps on going. You can
- enter another Alt-X to stop the WHEN. A third Alt-X takes you out of
- PibTerm entirely.
-
- 'When' slows down PibTerm's execution somewhat, so you should not be
- surprised if the output from the remote system seems to be slower than
- usual.
-
- While
- =====
-
- 'While' begins a block of statements to be repeatedly executed as long
- as the specified condition on the 'While' statement is true. A
- 'While' block is terminated by an 'EndWhile' statement. The form of
- the conditions for the 'While' statement are identical to those of the
- 'Until' and 'If' statements.
-
- For example, to execute a block of script statements as long as
- PibTerm is connected to a remote system, write:
-
- While Connected Do
- .
- .
- .
- EndWhile
-
- The "Do" is optional and is ignored if present.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 55
-
-
-
- EXAMPLE SCRIPTS
- ===============
-
- The script language in PibTerm is complicated enough that some
- extended examples are useful in showing how scripts can be constructed
- for common login sequences.
-
- Here is a sample script to log onto CompuServe and go to the Borland
- user's group section. The comment lines describe what each command is
- supposed to do.
-
- *
- * Set terminal to VT52
- *
- Param te=1
- *
- * Dial CompuServe access number in directory
- *
- Dial "12"
- *
- * Send Ctrl-C to get CompuServe's attention
- *
- SText '~^C'
- *
- * Wait for User ID prompt, then send User ID
- *
- Waitstring "User ID:"
- Stext "72000,1234|"
- *
- * Wait for password prompt, then send password
- *
- Waitstring "Password:"
- Stext "good-stuff|"
- *
- * Wait for main menu prompt, then request entry to
- * Borland conference.
- *
- WaitString "!"
- Stext "GO BOR100|"
- *
- * Prompt for automatic capture to file COMPUS.DAT.
- * If automatic capture, also define a WHEN string to
- * automatically go to the next message after one has
- * been read.
- *
- Message " "
- Input ">>> Automatic capture and non-stop messages? "
- If localreplyin "Y,y"
- Capture "COMPUS.DAT"
- When "<CR> for menu :" "N"
- Message " "
- Message "Capturing to file COMPUS.DAT"
- Message "Non-stop message mode."
- Else
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 56
-
-
-
- Message " "
- Message "Manual message reading, no capture."
- Endif
-
- Here is a script for automatically logging into a CDC NOS mainframe
- system:
-
- *
- * Set VT100 emulation
- *
- param te=3
- *
- * Dial up NOS system
- *
- dial "2"
- *
- * Wake up NAM and tell it we've got a VT100.
- *
- stext "~|~|~|~| TC=7|"
- *
- * Wait for the family prompt and reply with our username.
- *
- waitstring ":"
- stext "myfam,myusrid,mypass,iaf|"
- *
- * Wait for the control statement prompt, then tell NOS
- * our terminal type and user job name.
- *
- waitstring "/"
- stext "SETJOB,UJN=MYUJN|"
- stext "SCREEN,VT100.|"
-
-
- Here is a script to log into a Vax system under VMS:
-
- *
- * Set terminal to VT100 emulation
- *
- param te=3
- *
- * Dial Vax system
- *
- Message 'Dialing Vax ... '
- Dial "1"
- *
- * Send CRs to wake up Vax's autobaud.
- * Keep doing it until "Username:" prompt appears.
- *
- Repeat
- stext '|'
- waitstring "Username:" 1
- Until waitstring found
- *
- * Send my username.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 57
-
-
-
- *
- Stext "MYUSRID|"
- *
- * Wait for password prompt.
- *
- Waitstring 'Password:'
- *
- * Send password.
- *
- Stext "MYPASS|"
-
-
- Here is a script to login into an RBBS system:
-
- *
- * Set BBS/ANSI
- *
- param te=2
- *
- * Dial number
- *
- Message "Dialing RBBS"
- Dial "1"
- *
- * Send a few carriage returns to wake up RBBS
- *
- REPEAT
- Stext "|"
- WaitString "ame:" 1
- UNTIL Waitstring
- *
- * Send first name, last name, and password
- *
- Stext "first;last;mypass|"
-
-
-
- Here is a script to log into an IBBS system:
-
- *
- * Set BBS/ANSI
- *
- param te=2
- *
- * Dial number
- *
- Message "Dialing IBBS"
- Dial "1"
- *
- * Wait for ID request
- *
- Waitstring "ID: "
- *
- * Send first name, last name, and password
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 58
-
-
-
- * Also request message reading from last previous message
- *
- Stext "first;last;mypass;m;r;*"
-
-
- Here is a script to log into a FIDO system:
-
- *
- * Set BBS/ANSI
- *
- param te=2
- *
- * Dial number
- *
- Message "Dialing FIDO"
- Dial "1"
- *
- * Send some spaces until system wakes up
- *
- Repeat
- SText " "
- Waitstring "Your FIRST name:" 1
- Until Waitstring
- *
- * Send first name, last name.
- *
- Stext "first last|"
- *
- * Reply "y" to validation prompt
- *
- Waitstring "(y,n)"
- Stext "y|"
- *
- * Wait for password prompt and then send password.
- *
- Waitstring "assword:"
- Stext "mypass|"
-
-
- NOTES ON ERROR HANDLING
- =======================
-
- PibTerm incorporates an interrupt handler for DOS interrupt 24, the
- critical error interrupt. This interrupt is signalled for error
- conditions such as "disk not ready."
-
- If PibTerm should abort, then PibTerm's error handler will be in
- force. PibTerm DOES try to handle all errors, and die reasonably
- gracefully if possible. Sometimes a system lockup cannot be avoided,
- so it is best to re-boot (using CTRL-ALT-DEL) to avoid problems. You
- may also want to do this even if PibTerm appears to have died with
- dignity, since if any files were open and not closed by the error
- handler, then the number of available MS DOS file handles will be
- considerably reduced.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 59
-
-
-
-
- Normally, when you make an invalid keyboard entry in response to a
- prompt, PibTerm sounds the terminal bell. In mute mode (Alt-M), the
- bell is not sounded, and instead the message "<ALERT>" appears on line
- 25 of the display for a second or so. This <ALERT> also flashes any
- other time a bell (Control-G) character is received from the remote
- system and mute mode is in effect.
-
-
-
- INTRODUCTION TO HOST MODE
- =========================
-
- PibTerm provides simple host mode facilities for message leaving and
- file transfer. PibTerm can be used as a very simple remote bulletin
- board. However, it lacks the security provisions needed for a genuine
- BBS, and is really intended to cover the need for a simple remote
- facility for an individual or a small private group of users.
-
- PibTerm host mode assumes a Hayes-compatible modem. You may need to
- modify the code if your modem doesn't return verbal codes sufficient
- to determine the baud rate of the caller. The modem is assumed to be
- set to answer the phone automatically.
-
- To invoke host mode after entering PibTerm, enter Alt-W. If you want
- the remote session echoed to the printer or captured to disk, then use
- the Alt-L and Alt-O commands as described above before using Alt-W to
- invoke host mode.
-
- FILES IN HOST MODE
- ==================
-
- The following files are required for use with the host mode of
- PibTerm:
-
- PIBTERM.USF
- ===========
-
- PIBTERM.USF is a simple text file containing the first name,
- last name, and password for each authorized user. This file
- can be created using any text editor that produces ascii
- files. The format is:
-
- firstname;lastname;password
-
- i.e., semicolons separating the first name, last name, and
- password.
-
- This file MUST be created outside of PibTerm; there are no
- provisions for a remote caller to get added to the user file.
-
- PIBTERM.MSG
- ===========
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 60
-
-
-
- PIBTERM.MSG is the message file, also a simple ascii text
- file. Message header information is flagged by '==' in
- columns one and two. The end of a message is marked by '==
- End' in column one. This file will be created by PibTerm if
- it doesn't exist when a host session requires its presence.
-
- To remove messages, use a text editor and just delete the
- header lines and text for a message. There are no provisions
- for deleting messages remotely.
-
- PIBTERM.XFR
- ===========
-
- PIBTERM.XFR is the file transfer list. This file contains a
- list of files which may be downloaded by a remote user. Files
- NOT on the transfer list cannot be downloaded.
-
- A file with the same name as a file on this list cannot be
- uploaded by a remote user. Further, any file with the same
- name as one of the PibTerm host mode files cannot be uploaded,
- to prevent a remote user from overwriting those host mode
- files.
-
- A simple way to create the transfer list is to execute the DOS
- command:
-
- DIR >PIBTERM.XFR
-
- and then edit the resulting file using a text editor to remove
- unneeded lines and get the file names into 'name.ext' form as
- required by PibTerm. Each file name must appear in columns
- 1-14 of a separate line in PIBTERM.XFR. You can use the
- remainder of the line for file size, dates, a description, or
- whatever you like.
-
- Note that all files must be in a single directory -- the
- current logged directory when host mode is entered.
-
- Here are sample lines from a PIBTERM.XFR file (the numbers are
- column numbers and don't appear in the file):
-
- 1 15
- VT100.FNC 428 5-28-85 12:26a
- CDCNOS.FNC 211 6-17-85 4:13a
-
-
- PIBTERM.CMT
- ===========
-
- PIBTERM.CMT is the private comments file -- only readable by
- you. The format is the same as the message file.
-
- PIBTERM.LOG
- ===========
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 61
-
-
-
-
- PIBTERM.LOG is the log file telling who logged on and when
- they logged off.
-
-
- Note that all these host mode files are simple sequential ascii files.
- This implies that they should be kept small for reasonable performance
- -- which is fine for a small group of users. This implementation does
- not provide good performance for a large group of users; if you need
- that, you should obtain a real BBS program designed to handle large
- numbers of users.
-
- USING HOST MODE
- ===============
-
- After Alt-W is entered, PibTerm enters host mode and waits for a call.
- The mode is assumed to be able to answer the phone. The modem is
- initialized using the host-mode initialization string described above.
-
- PibTerm then scans the user file and stores the user names and
- passwords in memory for quick access. The message bases are also
- scanned to find the number of current messages.
-
- Once in host mode, NO PIBTERM COMMANDS are recognized. You can hit
- the ESC (escape) key to return to terminal emulation mode, or you can
- hit the enter (return) key to start a host-mode session right at your
- PC. When a remote session is in progress, you can enter data at the
- keyboard, which will appear to PibTerm as if the remote user had typed
- the entry.
-
- When PibTerm receives a call, it waits for the modem to answer the
- phone. PibTerm must now determine the calling characteristics (speed
- and parity) of the caller. This is done in one of two ways, depending
- upon the setting of the configuration parameter AB in file
- PIBTERM.CNF.
-
- AB = 1: PibTerm scans the modem connect message for the baud rate of
- the caller, and determines the parity later from the initial keyboard
- entries. This is the preferred method if your modem can return the
- baud rate on the connect message. For example, the USR Courier
- returns CONNECT for a 300-baud connection, CONNECT 1200 for a 1200
- baud connection, and CONNECT 2400 for a 2400 baud connection.
-
- AB = 0: PibTerm starts at 1200 baud, no parity. PibTerm waits for the
- remote caller to enter a series of carriage returns or spaces, SLOWLY.
- PibTerm determines the caller's baud rate by adjusting the
- communications parameters until the spaces or carriage returns are
- recognized. The parity can be determined at the same time.
-
- After determining the proper baud rate, PibTerm issues a short welcome
- message which looks like:
-
- PibTerm v3.0, October, 1985
- Beginning Remote Communications
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 62
-
-
-
-
- Test if line feeds required ...
- Are these lines O V E R P R I N T I N G ?
-
- The caller may see these lines as above, or the lines may be
- overprinting on the remote terminal. If the lines are NOT
- overprinting, then N should be entered as a response to the "...
- overprinting ?' question. If the lines ARE overprinting, then Y
- should be entered. PibTerm will then send line feeds as necessary to
- the remote user.
-
- Following this, PibTerm prompts for first name, last name, and
- password:
-
- Enter first name: <user enters first name>
- Enter last name: <user enters last name>
- Enter password: <user enters password>
-
- The entries MUST be made on separate lines; you CANNOT enter the first
- and last name on one line. If either the user name or password is
- incorrectly entered, then PibTerm issues the prompt again, a maximum
- of three times. If the information is not provided correctly on the
- last try, then PibTerm hangs up the phone.
-
- The case of the first and last names is irrelevant; any combination of
- upper and lower case is acceptable (i.e., Philip = PHILIP = PhIlIp).
- However, PASSWORDS ARE CASE SENSITIVE!! This means that Mypass,
- MYPASS, and MyPass are ALL DIFFERENT PASSWORDS.
-
- REPEATING: Passwords ARE case-sensitive!
-
- If there are any messages addressed to the caller, then the message
- headers of those message are displayed.
-
- Host mode provides two main sections: a main menu for message entry,
- and a secondary menu for file transfers. The main menu appears as
- follows:
-
- ======================================================
- = PibTerm Host Mode Main Menu =
- ======================================================
-
- E=Enter message
- R=Read message
- S=Scan messages
- P=Personal message scan
- Q=Quit and logoff
- F=File transfers
- G=Gossip mode
- X=Expert mode
- C=Send comments
-
- ======================================================
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 63
-
-
-
- When prompted by an 'Enter command ? ' the caller can enter one of
- the command letters. No carriage return is needed.
-
- E is used to enter a message in the message base.
-
- R is used to read a message.
-
- S is used to display the message numbers and headers.
-
- P scans the message base for messages addressed to the caller.
-
- Q ends the host session and logs off the caller.
-
- F enters the file transfer section (see below).
-
- G enters a "gossip" mode which allows the caller to "chat" with
- the host mode operator.
-
- X turns on expert mode and suppresses the long menu displays.
-
- C is used to send a private message to the host system operator.
-
- The file transfer menu appears when F is entered:
- ======================================================
- = PibTerm Host Mode File Transfer Menu =
- ======================================================
-
- U=Upload file
- D=Download file
- L=List files for transfer
- M=Return to main menu
- Q=Quit and logoff
- X=Expert mode
-
- ======================================================
-
- U is used to send a file to PibTerm.
-
- D is used to receive a file from PibTerm.
-
- L lists the files available for transfer.
-
- M returns the caller to the main menu.
-
- Q ends the host session and logs off the caller.
-
- X turns on expert mode and short prompts.
-
- In host mode, PibTerm looks for input from either the host system
- keyboard or the remote system. Thus, you can run a "remote" session
- from the host machine's keyboard itself. This feature also allows you
- to enter commands to complete what a remote user has input. You may
- also hit function keys F1 and F2: F1 enters gossip mode, and F2 hangs
- up the remote user.
-
- Documentation for PibTerm version 3.0 07 Oct 85 Page 64
-
-
-
-
- If you have used bulletin board systems like RBBS or IBBS, then you
- should have no trouble understanding how to use PibTerm host mode.
-
- The distributed executable version of PibTerm provides for a maximum
- of fifteen users. You can change the constant MaxUsers in module
- PIBHOSTA.PAS of the source and recompile to get a larger allowed
- number of users.
-
-
- ACKNOWLEDGEMENTS
- ================
-
- I would like to thank those who have made suggestions or provided code
- for additional PibTerm features. I would also like to thank those
- Sysops who have tolerated my hogging their systems in order to shake
- out the bugs in file transfers in ANSI emulation. And, last but not
- least, I'd like to thank those other software authors who provided
- excellent programs to model PibTerm after, and especially those who
- contributed source to the public domain. The following list of names
- is not complete, but I feel it is important to acknowledge those whom
- I can remember. Programs like PibTerm also benefit from the
- suggestions, modifications, and additions of others. Some of these
- individuals I have never actually communicated with, but PibTerm would
- be much poorer without their software contributions.
-
- Sysops:
- ======
-
- Bob Blacher, Rod Bowman, Sid Bratkovich, Chuck Childers,
- Craig Derouen, Howard Ekman, Ron Fox, Joel Garrett,
- Mike Johnson, Bob Klahn, Bob Mahoney, Pete Olympia,
- Gene Plantz, Rich Schinnell, Steve Stern, Vern Keenan
-
- In particular, Bob Blacher and Joel Garrett have gone out of their way
- to test PibTerm on various machines and configurations to which I have
- no access. Bob Klahn, Sid Bratkovich, and Craig Derouen -- all Fido
- sysops -- showed exceptional patience while I tried to get Telink
- protocol to work properly with Fido.
-
- Software authors, code contributors:
- ===================================
-
- Alan Bishop, Don Conover, Jeff Duncan, C. J. Dunford,
- Jim Everingham, John Friel, Guy Gallo, Tom Hanlin,
- Mike Harrington, Tim Krauskopf, Bela Lubkin, Paul Meiners,
- Jim Nutt, Michael Quinlan, Bob Ray, Greg Ryan, Ben Slivka
-
- Others:
- ======
-
- Charlie Price and Lon Mu Liu for many valuable suggestions.
-